🔑 키워드 정리
- 명시적 타입 변환/타입 캐스팅 : 개발자의 의도에 따라 타입을 변화하는 것
- 암묵적 타입 변환/타입 강제 변환 : 개발자의 의도와 상관없이 자바스크립트 엔진에 의해서 타입이 자동적으로 변환되는 것
- Truthy 값 : 불리언 타입이 아닌 값 중에서 참으로 평가되는 값
- Falsy 값 : 불리언 타입이 아닌 값 중에서 거짓으로 평가되는 값
- 단축 평가 : 표현식을 평가하는 도중에 평가 결과가 확정된 경우 나머지 평가 과정을 생략하는 것
- ?. : 옵셔널 체이닝 연산자
- ?? : null 병합 연산자
🗒 내용 정리
- 원시 값은 변경 불가능하다. 타입 변환은 기존 원시 값을 이용해서 다른 타입의 새로운 원시 값을 생성하는 것이다.
- 템플릿 리터럴의 표현식 삽입은 평가 결과를 문자열 타입으로 암묵적으로 변환한다.
[] + '' // ""
[10, 20] + '' // "10,20"
- 숫자타입으로의 빈 문자열, 빈 배열, null, false는 0으로, true 는 1로 변환된다.
- Falsy 값들. 이 값들 이외의 값은 모두 Truthy 값이다.
false |
undefined |
null |
0, -0 |
NaN |
''(빈 문자열) |
- 불리언 타입으로 변환하는 방법에는 부정 논리 연산자(!)를 두 번 사용하는 방법이 있다.
!!'x'; // true
!!''; // false
- 논리합 또는 논리곱 연산자 표현식의 평가 결과는 불리언 값이 아닐 수도 있다. 언제나 2개의 피연산자 중 어느 한쪽으로 평가된다. 이들은 모두 좌항에서 우항으로 평가된다. 다음 표현식에서 좌항부터 평가를 진행하면 'Cat'의 결과가 true 이고, true && 'Dog'가 된다. 그렇기 때문에 반환 값은 'Dog'가 된다. 문자열을 반환하기 때문에 조건식에 해당 표현식을 넣을 수도 있는 것이다.
'Cat' && 'Dog' // "Dog"
'Today I Learned' 카테고리의 다른 글
운영체제와 정보기술의 원리6 CPU 스케줄링 (0) | 2022.02.02 |
---|---|
모던 자바스크립트 Deep Dive 10장 객체 리터럴 (0) | 2022.01.31 |
운영체제와 정보기술의 원리5 프로세스 관리 (0) | 2022.01.31 |
운영체제와 정보기술의 원리4 프로그램의 구조와 실행 (0) | 2022.01.30 |
모던 자바스크립트 Deep Dive 8장 제어문 (0) | 2022.01.24 |