형변환

이서림·2024년 7월 30일

JavaScript

목록 보기
14/28

문자로 변환

// String 함수 사용
String(3);  // "3"
String(Infinity); // "Infinity"
String(NaN); // "NaN"
String(true); // "true"
String(false); // "false"
String(null);  // "null"
String(undefined); // "undefined"

// toString() 메서드 사용
(3).toString(); // "3"
(15).toString(16); // 숫자형 변환 시 진법을 지정할 수 있음
NaN.toString(); // "NaN"
true.toString(); // "true"
null.toString(); // TypeError (null은 객체가 아니라서 toString() 메서드를 호출할 수 없음)
undefined.toString(); // TypeError(undefined는 객체가 아니라서 toString() 메서드를 호출할 수 없음)

// 문자열 연결 연산자 +
// 빈 문자열과 더하기 연산을 수행하면 자동 타입 변환이 발생
3 + '';
Infinity + '';
NaN + '';
true + '';
false + '';
undefined + '';

💡 3.toString() 숫자 뒤의 점을 소수점으로 인식하여 에러 발생.

→소괄호를 이용해서 숫자를 감싸 점을 소수점이 아닌 점 연산자로서 인식시켜야 함.

숫자로 변환

// Number 연산자 사용
Number('1'); // 1
Number('0'); // 0
Number('hello'); // NaN (숫자로 변환할 수 없는 문자열)
Number(true); // 1
Number(false); // 0
Number(null); // 0
Number(undefined); // NaN (undefined는 숫자로 변환할 수 없음)

// 더하기 연산자 사용
+'1';
+'0';
+'hello';
+true;
+false;
+null
+undefined

// 곱하기 연산자 사용
'1' 1;
'0'
1;
'hello' 1;
true
1;
false 1
null
1;
undefined * 1;

불리언으로 변환

// Boolean 생성자 함수 사용
Boolean('x'); // true (비어있지않은 문자열)

// 부정 논리 연산을 2번 사용
!!'false'; // true
!!20; // true
!!0; // false
!!null; // false
!!undefined; // false

profile
꾸준한 열정으로 나아가는 프론트엔드 개발자

0개의 댓글