반응형
Variable
- 변수의 기본은 생성하고 초기화하여 사용한다.
- 변수의 초기화 하거나 생성할때 let, const, var를 이용한다. 기존에는 var로 변수를 선언했으나 지금은 var 보다는 const, let으로 선언을 한다.
- 변수는 가변적이기 때문에 변할 수 있다.
- javascript 는 위에서 아래로 순차적으로 실행한다.
let a = 111;
let b = a -5 ;
console.log(b);
# 결과값: 106
a = 6;
console.log(b, a);
# 결과값: 106, 6
var를 쓰지 않는 이유
- let,const는 Block scope 이지만 var는 그렇지가 않다.
Block scope 이란 코드를 블럭 안에 작성을 하면 블럭 밖에서는 블럭안을 볼 수가 없게 됨에 따라 코드의 안정성을 확보할 수 있다. 하지만 var는 Block scope 가 아니기 때문에 밖에서도 블럭안으 변수에 접근 할 수 있고, 이는 곧 코드의 안정성을 확보 할 수 없다는 뜻이 된다.
- let, constant일 경우
{
let name = 'kang';
console.log(name);
# 결과값: kang
}
console.log(name);
# 결과값: name is not defined
- var일 경우
{
var name = 'kang';
}
console.log(name);
# 결과값: kang
- var는 hoisting 이 된다.
hoisting 이란 script가 실행될때 var 또는 function은 실행시 제일 위로 이동하게 된다는 의미임
// 실제 코드
console.log(age);
# 결과값: undefined
age =4;
var age;
console.log(age);
# 결과값: 4
/*
여기서 age 라는 변수를 선언하지도 않았는데 값을 할당 할 수 있음
더욱이 실행되었던 console.log(age); 값을 보면 "undefined" 즉, 변수가 선언되었으나 값이 할당되지 않은 상태로 결과값이 나타남에 따라 코드에서는 age 라는 변수 이미 선언되었다고 인식을 하고 있음
*/
//javascript 가 인식하는 코드
var age;
console.log(age);
age =4;
console.log(age);
//이처럼 var로 선언된 변수는 실행시 최상위로 실행 순서가 이동하며 이를 hoisting 이라고 함
'javascript' 카테고리의 다른 글
6. Function() (0) | 2020.06.24 |
---|---|
5. Object (0) | 2020.06.23 |
4. Array (0) | 2020.06.23 |
3. 주석 및 데이터 형 (0) | 2020.06.23 |
javascript 기초 문법 1.Hello World (0) | 2020.06.19 |