javascript 기초 - 변수 선언(let, const, var) 및 undefined와 null

강의 2-8 ~ 2-20 내용 중

undefined와 null

javascript는 신기하게 빈 값을 표현하는 null말고도 undefined라는 자료형이 있는데, 이것은 돌려줄게 없다면 'undefined'를 반환합니다.

하지만, 둘이 완전히 같은 것은 아닙니다. 물리적으로 똑같지만, 둘의 자료형은 다릅니다. null의 자료형은 'object'로 명시되어있고 undefined의 자료형은 'undefined'로 명시되어있습니다.

console.log(undefined == null)  // true
console.log(undefined === null) // false
console.log(typeof(null)) // object
console.log(typeof(undefined)) // undefined

결과값이 "null"이 아니라 "object"이 이유는 자바스크립트에서 유명한 버그라고 합니다. 언어가 만들어진 초창기 실수로 인해 자료형이 "object"가 되었다고 합니다. 그러므로 값이 null인지 확인하기 위해서는 === null을 이용해야 합니다.

변수 선언하기(let)

javascript는 C언어와 달리 자료형을 선언해줄 필요가 없습니다.

let 변수명 = 값의 형태로 변수를 선언할 수 있습니다. 참고로, console.log() 는 값을 리턴하는게 아니라 화면에 그림그리듯이 출력하는 역할만을 수행합니다. 그래서, undefined가 리턴값이 됩니다.
(변수 선언은 한글, 특수문자, 하트와 별 같은 이모티콘, 한자으로도 가능하다고 합니다.)

let total = 5000 + 8000 + 10000 + 9000;
console.log(total); // 32000
total = 3;
console.log(total); // 3

의도적으로 빈 값을 만들 때 null로 선언해준다고 합니다. 왜냐하면 개발자가 의도적으로 넣었다는 것을 보여주기 위함이라고 합니다.
javascript에서 기본적으로 빈 값은 undefined이기 때문에 개발자가 직접 null을 사용하지 않는 이상 보기 힘들다고 합니다.

const

let 외에도 변수를 선언하는 예약어로 constvar가 있습니다. const는 constant(상수)의 줄임말입니다. 상수는 변하지 않는 수라는 뜻입니다.

const value = 123;
console.log(value);
value = 1; // error 

var

var는 변수(variable)의 줄임말입니다. 예전에는 많이 사용했지만, 다소 어려운 특성 때문에 const와 let을 최근에는 주로 사용한다고 합니다. var의 특징은 let은 다시 선언하면 error가 나지만 var는 error가 나지 않습니다.

var hi = 'hello';
var hi = 'hello';
var hi = 'hello';

좋은 웹페이지 즐겨찾기