til/Front

[JavaScript] 형 변환

값진 2022. 6. 11. 23:49

형 변환(type conversion)

  - JavaScript는 자료형에 대한 처리가 유연하다. > 자동 형변환을 유연하게 잘한다.

  - 변수의 타입이 정해져 있지 않고, 같은 변수에 다른 타입의 값을 다시 대입할 수 있다.

 

묵시적 타입 변환(implicit type conversion)

  - 특정 타입의 값을 기대하는 곳에 다른 타입의 값이 오면, 자동으로 타입을 변환하여 사용

10 + "문자열"; // 문자열 연결을 위해 숫자 10이 문자열로 변환됨.
"3" * "5";     // 곱셈 연산을 위해 두 문자열이 모두 숫자로 변환됨.
1 - "문자열";  // NaN

세번째 예제에서, 문자열은 숫자로 변환되어야 하지만 숫자로 변환될 수 없는 문자열이다.

  - 의미에 맞는 자동 형 변환을 할 수 없으므로 NaN 값을 반환

 

참고  * NaN : Not a Number

         - 정의되지 않은 값, 표현할 수 없는 값

         - 0으로 0을 나누거나 숫자로 변환할 수 없는 산술 연산을 시도하는 경우 반환되는 읽기 전용 값

 

 

명시적 타입 변환(explicit type conversion)

  - 명시적 타입 변환을 위해 JavaScript가 제공하는 전역 함수

  - Number(), String(), Boolean(), Object(), parseInt(), parseFloat()

String(true); // 문자열 "true"
Boolean(0);   // 불리언 false
Object(3);    // new Number(3)와 동일한 결과로 숫자 3

 

숫자를 문자열로 변환

  - String(), toExponential(), toFixed(), toPrecision()

 

불리언 값을 문자열로 변환

  - String(), toString()

String(true);     // 문자열 "true"
false.toString(); // 문자열 "false"

 

문자열을 숫자로 변환

  - Number(), parseInt(), parseFloat()