undefined undefined의 경우, 변수는 존재하지만 값을 저장하지 않아서 타입을 모를 경우이다. 직접 값을 비교할 수 있다. var msg1;if (msg1 == undefined) console.log("변수 존재하지만 값이 없다.."); var msg2 = 20; msg2 = undefined; // 존재하는 변수를 undefined로 만들 수 있다.cs null null은 특정 객체를 가리키지 않음을 지정할 때 null을 사용한다. null또한 직접 값을 비교할 수 있다. var msg3 = null;if (msg3 == null) console.log("msg3은 null 상태임");console.log(typeof(null)); // typeof 연산자를 null에 사용하면 objec..
호이스팅(Hoisting) 호이스팅은 말 그대로 끌어 올린 다는 것이다. 자바스크립트 에서 끌어 올리는 것은 변수 '선언'과 함수 '선언' 을 끌어올리는 것이다.함수 호이스팅이 발생하는 원인은 자바스크립트의 변수 생성(Instantiation)과 초기화(Initialization)의 작업이 분리돼서 진행되기 때문이다. console.log(a());console.log(b());console.log(c()); function a() { return 'a';} var b = function bb() { return 'bb';} var c = function() { return 'c';}cs 위에 보이는 코드에서 a() 부터 실행 오류가 떠야 하지만 a는 출력이 된다. 왜냐하면 호이스팅에 의해서 실제 자바 ..
자바스크립트 데이터 타입자바스크립트 데이터 타입은 크게 기본타입과 참조타입을 나뉠수 있다. 자바스크립트 기본타입자바스크립트의 값들은 크게 기본 타입(Primitive Type)과 참조 타입(Reference Type)으로 나뉜다. 기본 데이터 타입은 값을 그대로 할당하고 참조 타입은 값이 저장된 주소값을 할당한다.기본데이터 타입(숫자, 문자열, 불린값, null, undefined)참조 데이터 타입(객체, 배열) 해당 변수의 타입을 자바스크립트의 typeof 연산자를 이용해 출력한다. typeof 연산자는 피연산자의 타입을 리턴한다. 자바스크립트는 느슨한 타입 체크 언어다. 자바 스크립트는 변수를 선언할 때 타입을 미리 정하지 않고, var라는 한 하지 키워드로만 변수를 선언한다. 따라서 자바스크립트는 ..