[JavaScript] 자바스크립트 기본 (4)

knk.log·2023년 7월 17일
post-thumbnail

<모던 JavaScript 튜토리얼 - 코어 자바스크립트>

https://ko.javascript.info/

🧔형 변환(type conversion)

자동 변환되는 경우

  • alert가 전달받은 값의 자료형과 관계없이 이를 문자열로 자동 변환
  • 수학과 관련된 함수와 표현식에서는 자동 변환
    alert( "6" / "2" ); // 3

이 외에, 전달받은 값을 의도를 갖고 원하는 타입으로 명식적 변환하는 경우

문자형으로 변환

String(value) 함수로 변환

let value = true;
alert(typeof value); // boolean
value = String(value);
alert(typeof value); // string

숫자형으로 변환

Number(value) 함수로 변환

let str = "123";
alert(typeof str); // string
let num = Number(str);
alert(typeof num); // number
  1. 숫자형 값을 사용해 무언가를 하려고 하는데, 그 값을 문자 기반 폼(form)을 통해 입력받는 경우엔, 이런 명시적 형 변환이 필수입니다.
  2. 숫자 이외의 글자가 들어가 있는 문자열을 숫자형으로 변환하려고 하면, 그 결과는 NaN이 됩니다.

숫자형 변환 시 적용 규칙

전달받은 값형 변환 후
undefinedNaN
null0
true, false1, 0
string문자열 양쪽 끝 공백 제거, 공백 제거 후 남은 문자열이 없다면 0, 있다면 숫자를 읽음, 실패 시 NaN
alert( Number("    "));       // 0
alert( Number("   123   ") ); // 123
alert( Number("123z") );      // NaN ("z"를 숫자로 변환하는 데 실패)
alert( Number(true) );        // 1
alert( Number(false) );       // 0

불린형으로 변환

Boolean(value) 함수로 변환
논리 연산 수행 시 발생

불린형 변환 시 적용 규칙

전달받은 값형 변환 후
0, null, undefined, NaN, ""false
그 외의 값, "0", " "true
  1. "비어있다고" 느껴지는 값들은 false로 변환
  2. 그 외의 값들은 true로 변환
  3. 문자열 "0"과 공백이 있는 문자열 " "true
alert( Boolean(0) ); // false
alert( Boolean("0") ); // true
alert( Boolean(" ") ); // true (공백이 있는 문자열)
alert( Boolean("") ); // false (빈 문자열)

0개의 댓글