[Javascript] ('b'+'a'+ +'a'+'a').toLowerCase() 의 결과는 banana ???

자바스크립트에서
('b'+'a'+ +'a'+'a').toLowerCase()
의 결과는 banana 이다.
이유는 이렇다.
- 'b' + 'a'를 연결하면 'ba'가 된다.
- +'a'에서 +를 단항연산자로 인식해 자바스크립트 엔진은 'a'을 숫자로 형변환을 시도한다.
- 하지만 'a'는 숫자로 해석할 수 없는 값이라 NaN (Not a Number)을 반환한다.
- NaN + 'a' 를 시도하면 NaN은 문자열 "NaN"이 된다.
- 따라서 NaN + 'a' 는 "NaNa"가 된다.
- 결과적으로 ('b'+'a'+ +'a'+'a') 는 'baNaNa'가 되고 이를 소문자로 변환하면
- banana가 된다.
이상한 자바스크립트~..
댓글을 사용할 수 없습니다.