자바스크립트 형 변환


String 변환

  • 문자형으로 변환은 대부분 예측 가능한 방식으로 일어난다.
let value = true;
console.log(typeof value); // "boolean"

value = String(value);
console.log(typeof value); // "string"

console.log(String(true));  // "true"
console.log(String(false)); // "false"
console.log(String(null));  // "null"
console.log(String(100));   // "100"


Number 변환

전달받은 값 형 변환 값
undefined NaN
null 0
true and false 1 and 0
string 문자열의 처음과 끝 공백이 제거된다. 공백 제거 후 남아있는 남아 있는 문자열이 없으면 0, 그렇지 않으면 문자열에서 숫자를 찾아 읽는다. 만약 변환에 실패하면 NaN 반환
console.log(Number(undefined))   // NaN 반환
console.log(Number(null))        // 0 반환
console.log(Number(true))        // 1 반환
console.log(Number(false))       // 0 반환
console.log(Number("  "))        // 공백 제거 후 문자열이 없으므로 -> 0 반환
console.log(Number(" 100 "))     // 공백 제거 후 문자열에 숫자를 찾아 -> 100 반환
console.log(Number("a  100 "))     // 공백 제거 후 문자열에 숫자 이외의 글자가 들어가 있으므로 -> NaN 반환


Boolean 변환

전달받은 값 형 변환 값
0, null, undefined, NaN, ""(빈문자열) false
그 외의 값 true
  • Boolean 변환은 아주 간단하다.
  • 숫자 0, 빈 문자열, null, undefined, NaN과 같이 직관적으로도 “비어있다고” 느껴지는 값들은 false가 된다.
  • 그 외의 값은 true로 변환됩니다.
console.log(Boolean(1));    // true
console.log(Boolean(0));    // false
console.log(Boolean("hi")); // 문자열이 존재하므로 true
console.log(Boolean("  ")); // 공백문자열이 존재하므로 true
console.log(Boolean(""));   // 빈 문자열이므로 false
console.log(Boolean(null));     // false
console.log(Boolean(undefined));    // false
console.log(Boolean(NaN));      // false
  • 주의 "0"true 이다.
  • 다른 일부 언어에서는 문자열 "0"도 false로 취급하지만, 자바스크립트에서는 비어 있지 않은 문자열은 언제나 true로 반환한다.
console.log(Boolean("1")); // true
console.log(Boolean(1));   // true
console.log(Boolean("0"));  // true
console.log(Boolean(0));    // false

results matching ""

    No results matching ""