검색결과 리스트
글
자바스크립트는 데이터타입(자료형)에 대해 상당히 관대한 언어이다.
다른 언어가 변수를 선언 할 때 자료형까지 결정 하는 반면,
자바스크립트는 선언시 변수의 스코프(범위)와 존재만 설정하고,
할당 할 때 비로소 자료형이 결정된다.
(다른 언어를 했었는지 어떤 개발자가 변수를 선언하고 초기화를 하지 않으면
쓰레기 값이 된다고 하는 것을 보았는데, 자바스크립트에 대해 잘 모르고서 하는 소리인것 같다.)
그래서인지, 자바스크립트를 배우는 대부분의 사람들은, 그리고 가르치는 사람들은
자료형에 대한 고민을 거의 하지 않는 편이다.
고려하지 않아도
프로그래밍을 하는데 큰 문제가 없다(?)고 생각하는 것이다.
하지만 조금만 깊이있게 들어가면 자바스크립트도, 자료형에 대한 고민을 하지 않고서는
문제가 발생하는 경우가 많다.
그 예가 바로 undefined와 null이다.
많은 사람들이 이 두가지를 구분하지 못해서 어려움을 겪는 경우가 있는데,
이 둘은 다음과 같은 차이가 있다.
undefined -> 변수를 선언만 하고 값을 할당하지 않음.
즉, 자료형이 결정되지 않은 상태이다.
(선언하지 않은 변수도 콘솔이나 기타 메세지에는 undefined라고 뜨지만,
undefined라는 값을 가지는 것은 아니다.)
null -> 변수를 선언하고, 'null'이라는 빈 값을 할당한 경우이다.
(이 '빈 값'의 경우 자료형에 따라 여러가지가 있지만,
null은 객체형 데이터-ex: array, object-의 빈 값을 의미한다.
문자열(string)의 경우 '', 숫자(number)의 경우 0이 빈값이고,
이들 빈값 모두는 if문에서 false로 형 변환된다.)
다시말해서, undefined는 자료형이 결정되지 않은 변수이고,
null은 자료형은 객체인데, 비어있는 변수이다.
++추가
-------------
이 글을 본 지인이 왜 그러면 console.log(undefined==null)이 true냐고 반박을 해서
글을 추가합니다.
비교연산자 ==는 자료형이 다르면 자동 형변환으로 자료형을 강제로 맞춰서 비교하는 비교연산자입니다.
undefined와 null(object)은 자료형이 다르니 자바스크립트 엔진에서 알아서 통일해서 둘다 값이 없는거니까
true를 반환합니다. 이 경우 === 연산자(자료형까지 비교)를 사용하면 원하는 결과를 얻을 수 있습니다.
'JavaScript 이야기' 카테고리의 다른 글
자바스크립트로 이미지 새로고침 하기 (0) | 2013.01.05 |
---|---|
자바스크립트 객체 생성과 리터럴 표기법 (0) | 2012.12.17 |
자바스크립트 키코드 (0) | 2012.12.14 |
자바스크립트에서 false를 의미하는 것, 그리고 true를 의미하는것. (0) | 2012.11.17 |
자바스크립트에서 변수 타입에 관한 몇가지 알짜상식 (0) | 2012.11.17 |
설정
트랙백
댓글
글
여러 경우가 있겠지만,
익스플로러에서만 그 이미지가 렌더링 되지 않는다면..
이미지 형식이 CMYK로 저장되었는지 의심해보아야 한다.
간략하게 말하면 CMYK란 이미지의 색상 형식이 인쇄용으로 되어 있는 것인데,
익스플로러의 경우 CMYK이미지를 구동시켜 주지 못해서 이미지가 깨져버린다.
'html 이야기' 카테고리의 다른 글
내 홈페이지, 파비콘 적용하기 (0) | 2012.12.18 |
---|---|
inline-block 요소에 관한 고찰 (0) | 2012.12.09 |
HTML 렌더링 순서에 따른 <script> 태그 사용 권장사항 (2) | 2012.11.19 |
블록 요소 vs 인라인 요소 (4) | 2012.11.11 |
HEAD> META 태그 총정리 (1) | 2012.11.10 |
설정
트랙백
댓글
글
'JavaScript 이야기' 카테고리의 다른 글
null과 undefined의 차이 (3) | 2013.01.13 |
---|---|
자바스크립트 객체 생성과 리터럴 표기법 (0) | 2012.12.17 |
자바스크립트 키코드 (0) | 2012.12.14 |
자바스크립트에서 false를 의미하는 것, 그리고 true를 의미하는것. (0) | 2012.11.17 |
자바스크립트에서 변수 타입에 관한 몇가지 알짜상식 (0) | 2012.11.17 |
RECENT COMMENT