javascript

2.variable(변수)

으누아빠 2020. 6. 22. 13:19
반응형

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를 쓰지 않는 이유

  1. 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
  1. 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