해결된 질문
작성
·
198
·
수정됨
0
Boolean 내장 함수에서,
변수에 문자열을 입력하고 boolean으로 출력하면 1이 아닌 이외의 모든 것은 false로 출력된다고 이해했습니다.
var x = "";
console.log(Boolean(x)); // false 출력
위의 코드처럼요!
그런데 아래 코드처럼 문자열을 입력하고 실행하면,
1이 아닌 다른 값이 들어갔기 때문에 false가 출력될 것이라고 생각했는데 true가 출력돼서 왜 그런지 질문드립니다!
var y = "안녕하세요";
console.log(Boolean(y)); // true 출력
문자열과 마찬가지로 숫자도 0이외의 다른 숫자(양수, 음수, 소수 등..)를 입력하고 boolean으로 실행했을 때 전부 true로 나오는데,
1이 아닌 것은 모두 false라고 배워서 잘 이해가 가지 않아 질문드렸습니다.
답변 1
1
자바스크립트에서 Boolean 내장 함수를 사용할 때 문자열과 숫자에 대한 처리 방식을 이해하는 것이 중요합니다. 여기서 오해가 있었던 것 같습니다.
자바스크립트에서는 빈 문자열 ("")과 숫자 0, 그리고 null, undefined, NaN, 그리고 불리언 값 false 자체를 제외하고 모든 것이 true로 평가됩니다. 이를 "Truthy"와 "Falsy" 값이라고 부릅니다.
알려주셔서 감사합니다! 다시한번 복습해보겠습니다 ㅎㅎ