개발 수업/WEB
[JavaScript] 자바스크립트 변수
오늘 하루s
2023. 6. 26. 22:34
728x90
더보기
Day40. 230626
자바스크립트에서 변수선언방법
1) 자동인식
2) var 변수명
- 변수를 선언하거나 변수 선언과 동시에 값을 저장할 수 있다.
- 값은 지정하지 않으면 변수에 "undefined"값이 들어가 있음.
- 변수 선언은 한번에 여러개도 가능
3) let변수명
- 선언된 구역에서만 사용할 수 있는 변수 선언
- 선언된 블록범위에서 같은 변수 이름으로 선언하면 에러 발생
4) const 변수명
- 한번 값이 저장되면 값을 변경할 수 없는 변수 선언
- 선언할 때 초기값을 지정해야함.
변수끌어올림(호이스팅,hoisting)
- 변수 선언이 어느 위치에 있든 맨 처음 선언을 미리 해줌.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>var_let_const</h2>
<pre>javascript에서 변수선언방법 4가지
자동인식
var 변수명
let 변수명
const 변수명</pre>
<script>
//var x; //변수선언
//console.log(x); //undefined 변수선언 후 초기값을 부여안하고 사용시 undefined
console.log(a); //undefined
console.log(b); //Uncaught ReferenceError: Cannot access 'b' before initialization
console.log(c); //Uncaught ReferenceError: Cannot access 'c' before initialization
//var,let,const를 사용하여 변수 선언 및 초기화
var a = 20;
let b = 200;
const c = 2000;
// var a=30; //변수를 재선언해도 된다.->문제발생소지
// console.log(a);
let b = 300; //Uncaught SyntaxError: Identifier 'b' has already
console.log(b);
//var롤 선언한 변수는 호이스팅(hoisting)에 의해서 scope의 최상단으로 끌어올려진다.
//변수를 참조할 수 있게 된다. 그런데 위의 코드에서는 호이스팅에 의해 끌어올려지고
//변수가 사용되고 변수값 할당이 이루어지면서 undefined되었다.
//let로 선언한 변수는 호이스팅(hoisting)에 의해서 발생은 하지만
//변수 선언 전에 변수가 사용되면 ReferenceError가 발생된다.
</script>
</body>
</html>
728x90