""와 ''는 동일하다

"String" === 'String'

"String" == 'String'


비어있는 문자열,

0 문자열,

공백 문자열,

숫자 0


위의 4가지는 false를 의미하기도 함


ex)

''        ==   '0'                 // false

0         ==   ''                 // true

0         ==   '0'                // true

false     ==   'false'           // false

false     ==   '0'               // true

false     ==   undefined     // false

false     ==   null             // false

null      ==   undefined     // true

" \t\r\n" ==   0             // true


이와 같은것을 Truthy, Falsy라고 한다.


참조사이트

https://developer.mozilla.org/en-US/docs/Glossary/Truthy

https://developer.mozilla.org/en-US/docs/Glossary/Falsy


truthy와 falsy를 단순히 더블이퀄(==)비교 하게되면 혼돈이 생기기 쉽습니다.

변수 값이 존재하느냐 마느냐는 느낌표를 붙여 판단하면 좋으며,

비교를 위해서는

타입까지 체크하는 트리플이퀄(===)을 사용하는 것이 좋다.

'Programming > JavaScript' 카테고리의 다른 글

값 전달 방법  (0) 2016.05.25
블로그 이미지

SherryBirkin

,