[모던자바스크립트] 7. 타입변환


이 글은 번역 및 정리 글입니다. 출처: javascript.info

타입 변환

대부분의 경우 자바스크립트는 주어진 값을 올바른 유형으로 자동 변환한다.

예를 들면 alert는 자동으로 모든 값을 문자열로 변환하여 표시한다. 수학 연산이라면 숫자로 변환한다.

하지만 값을 명시적으로 예상 자료형으로 변환해야 하는 경우도 있다.

문자열 변환

String()을 사용하여 명시적으로 변환가능하다.

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

value = String(value); // value 는 이제 "true"
alert(typeof value); // string

숫자 변환

보통 연산자가 있다면 자동으로 변환된다.

alert( "6" / "2" ); // 3

Number()를 사용하여 명시적으로 변환가능하다.

let str = "123";
alert(typeof str); // string

let num = Number(str); // str은 이제 123

alert(typeof num); // number

숫자가 아닌 값을 넣으면 NaN이 반환된다.

let age = Number("an arbitrary string instead of a number");

alert(age); // NaN
  • undefined: NaN
  • null: 0
  • true, false: 1, 0

+ 더하기는 어느 하나가 문자열이라면 문자열 결합연산을 한다.

alert( 1 + '2' ); // '12'

부울 변환

  • falsy 값(0, null, undefined, NaN, false 등)들은 모두 false로 변환된다.
  • 다른값들은 true
alert( Boolean(1) ); // true
alert( Boolean(0) ); // false

alert( Boolean("hello") ); // true
alert( Boolean("") ); // false

alert( Boolean("0") ); // true
alert( Boolean(" ") ); //  true

숙제

다음 표현의 결과는?

"" + 1 + 0
"" - 1 + 0
true + false
6 / "3"
"2" * "3"
4 + 5 + "px"
"$" + 4 + 5
"4" - 2
"4px" - 2
7 / 0
"  -9  " + 5
"  -9  " - 5
null + 1
undefined + 1
" \t \n" - 2



2023년 새해에는 성장하고 함께하고 싶다면?

Pre A 단계 이상의 스타트업 C 레벨들이 모여서 커뮤니티를 만들었습니다. 같이 스터디하고 친해질 일잘러를 찾습니다.




© 2017. by isme2n

Powered by aiden