반응형
자바스크립트 개발 환경은 Microsoft Visual Studio 2015 버전 HTML 기능 및 Chrome을 이용하고 있습니다.
자바스크립트에서 null과 undefined는 엄연히 다르다.
결론부터 말하자면
undefined와 null은 값은 같으나 타입이 다르다.
자바스크립트에서 null은 "nothing"을 의미한다.
즉, 아무것도 존재하지 않는다라는 의미이다.
하지만 자바스크립트에서 null의 type은 object임을 알고 있어야 한다.
예를들어보자.
var y = { first: "a", second: "b" };
y = null;
이라고 했을 때 값은 null이 되지만 여전히 타입은 object이다.
자바스크립트에서 undefined도 마찬가지로 "nothing"을 의미한다.
이때 null과 다른점은 type도 undefined로 같다는 것이다.
var y = { first: "a", second: "b" };
y = undefined;
라고 했을 때 값은 undefined이고 타입도 undefined가 됨을 알 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <!DOCTYPE html> <html> <head> <title>test title</title> </head> <body> <h2> JavaScript </h2> <p id="xId">x의 타입은 ?? </p> <button type="button" onclick="getX()"><< click >></button> <p id="yId">y의 타입은 ?? </p> <button type="button" onclick="getY()"><< click >></button> <p id="xy">x와 y의 관계는? </p> <button type="button" onclick="getXY()"><< click >></button> <script> var x; var y = { first: "a", second: "b" }; y = null; function getX() { document.getElementById("xId").innerHTML = typeof (x); } function getY() { document.getElementById("yId").innerHTML = typeof (y); } function getXY(){ document.getElementById("xy").innerHTML = "y의 값과 x의 값이 같나? :: " + (y == x) + "<br>" + "y와 x의 값과 타입이 같나? :: " + (y === x) + "<br>"; } </script> </body> </html> // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Basic > JavaScript' 카테고리의 다른 글
자바스크립트 이벤트 사용 방법 (0) | 2017.09.21 |
---|---|
자바스크립트 Number 메서드 (0) | 2017.09.20 |
자바스크립트 연산자 우선순위 (0) | 2017.09.19 |
자바스크립트 출력 메소드 사용 방법 (0) | 2017.09.19 |
script 사용 기초, .js파일 호출 기초 (0) | 2017.09.19 |