// 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