카테고리 없음
[모던 자바스크립트 Deep Dive] 암묵적 명시적 타입변환
홍순2
2023. 12. 13. 02:13
P112쪽 자바스크립트 엔진은 산술 연산자 표현식을 평가하기 위해 산술 연산자의 피연산자 중에서 숫자 타입이 아닌 피연자를 숫자 타입으로 암묵적 타입 변환한다.
숫자 타입으로 변환
1 - '1' // 0
1 * '10' // 10
1 / 'one' // NaN
P112쪽 +단항연산자는 피연산자가 숫자 타입의 값이 아니면 숫자 타입의 값으로 암묵적 타입으로 변환
한다.
주의!!! +'' = 0이 됬다고 해서 값이 변경된것은 아니다 ex) 1+'1' = 11(string)이 나온다
// 문자열 타입
+'' // 0
+'0' // 0
+'1' // 1
+'string' // NaN
// 불리언 타입
+null // 0
+undefined // NaN
// 심벌 타입
+Symbol() // TypeError: Cannot convert a Symbol value to a number
//객체타입
+{} // NaN
+[] // 0
+ [10,20] // NaN
+ (function(){}) // NaN
P115쪽 표준 빌트인 생성자 함수(String, Number, Boolean)를 new연산자 없이 호출하는 방법과 빌트인 메서드를 사용하는 방법있다
문자열 타입으로 변환
String(1); // "1"
String(NaN); // "NaN"
숫자 타입으로 변환
Number('0') // 0