인프런 커뮤니티 질문&답변

강두희님의 프로필 이미지

작성한 질문수

자바스크립트 제대로 배워볼래?

Boolean 내장함수 강의 질문

해결된 질문

작성

·

191

·

수정됨

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" 값이라고 부릅니다.

강두희님의 프로필 이미지
강두희
질문자

알려주셔서 감사합니다! 다시한번 복습해보겠습니다 ㅎㅎ