[JS] Boolean Type

gga·2021년 12월 10일
0

JS

목록 보기
2/2
post-thumbnail
// `squares` 에 들어가는 값은 `null`, `"O"`, `"X"` 셋 중 하나이다.
if (squares[a] && squares[a] === squares[b] && squares[a] === squares[c]) {
        return squares[a];
}

처음에 위와 같은 코드를 접했을 때 이해가 되질 않았다.
'맨 왼쪽 squares[a]는 문자열 혹은 null 값이라서 에러가 날텐데 왜 정상적으로 작동하지?' 라는 생각이 들었다.

자바스크립트에서는 다음과 같은 규칙에 따라 어떤 임의의 값을 Bool값으로 변환할 수 있다.
1. false, 0, 빈문자열(""), 수가 아님을 뜻하는 NaN, null, undefined 모두 false가 된다.
2. 다른 모든 값은 true가 된다.

Boolean('');  // false
Boolean(234); // true

이와 같은 규칙 때문에, squares[a]null이면 false를 반환, 문자열 값이 존재하면 true를 반환하게 된다.

참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/A_re-introduction_to_JavaScript

0개의 댓글