9.1 타입 변환이란?
자바스크립트의 모든 값은 타입이 있다.
개발자가 의도를 가지고 타입을 변환하는 것 == 명시적 타입 변환 explicit coercion == 타입 캐스팅 type casting
개발자의 의도 상관없이 타입이 변환되는 것 == 암묵적 타입 변환 implicit coercion == 타입 강제 변환 type coercion
9.2 암묵적 타입 변환
위에처럼 쓰면 암묵적 타입변환이 일어나서 에러가 발생한다고 한다.
(자바스크립트 엔진이 지멋대로 바꿔버린다 내의도랑 상관없이)
1) 문자열 타입으로 변환
한 개라도 문자열 변수가 있으면
+ 연산자 ==> 문자열 연결 연산자 로 동작한다.
2) 숫자 타입으로 변환
3) 불리언 타입으로 변환
if문에 넣어라
true 로 평가되는 것 : return !!v; | false 로 평가되는 것 : return !v; |
true '0' {} [] |
false undefined null 0, -0 NaN '' |
9.3 명시적 타입 변환
개발자의 의도에 따라 명시적 타입을 변경
1) 생성자 함수를 new 연산자 없이 호출
2) 빌트인 메서드
1) 문자열 타입으로 변환
1-1) String 생성자 함수를 new 연산자 없이 호출
1-2) Object.prototype.toString 메서드 사용
1-3) 문자열 연결 연산자 이용
2) 숫자 타입으로 변환
1) Number 생성자 함수를 new 연산자 없이 호출
2) parseInt, parseFloat 함수 사용 (문자열-> 숫자 만 가능)
3) + 단항 산술 연산자
4) * 산술 연산자
9.4 단축 평가
객체 가리키기 기대하는 변수가
null 또는 undefined 인지 아닌지 확인하고 프로퍼티 참조할 때
'자바스크립트-스터디[2021-10-05~완료]' 카테고리의 다른 글
13 렉시컬 스코프 (0) | 2021.10.16 |
---|---|
12 함수 (0) | 2021.10.15 |
[2주차]11 원시 값과 객체의 비교 (0) | 2021.10.10 |
10 객체 리터럴 (0) | 2021.10.10 |
08 제어문 (0) | 2021.10.10 |