9장 10장
9장 타입 변환과 단축 평가
9.1 타입 변환이란 ?
- 명시적 타입 변환 = 타입 캐스팅 : 의도적으로 값의 타입을 변환
- 암묵적 타입 변환 = 타입 강제 변환 : 자바스크립트가 도중에 암묵적으로 자동 변환
9.2 암묵적 타입 변환
- js가 자동으로 문맥을 고려하여 타입을 강제 변환함
9.3 명시적 타입 변환
- String(), Number(), parseInt() 등을 통해서 타입을 변환
9.4 단축 평가
- 논리곱의 연산자는 우항을 논리합 연산자는 좌항을 반환한다 // 다만 false가 좌항이라면 논리합은 우항 논리곱은 좌항을 반환
** 객체를 가리키기를 기대하는 변수가 null 혹은 undefined가 아닌지 확인하고 프로퍼티를 참조할때 사용
- null값에 value나 length쓰면 오류니나까 논리곱으로 판별가능
9.4.2 옵셔널 체이닝 연산자
- ?.
- 좌항이 null 혹은 undefined경우 undefined를 반환하고 아니면 우항 프로퍼티 참조
9.4.3 null 병합 연산자
- ??
- 좌항이 null또는 undefined 경우 우항의 피연산자 반환하고 그렇지 않으면 좌항의 연산자 반환
- 기본값 설정시 유용
10장 객체 리터럴
10.1 객체
- 원시 값을 제외한 나머지 모든 값 (함수, 배열, 정규 표현등)모두 객체
- 프로퍼티와 메서드로 구성된 집합체
- 프로퍼티 : 객체 상태를 나타내는 값 ex_ num=0
- 메서드 : 프로퍼티 참조하고 조작할 수 있는 동작 ex_ function()
10.2 객체 리터럴에 의한 객체 생성
- 중관호 안에 0개 이상의 프로퍼티 정의
- new 연산자 불필요
10.3 프로퍼티
- 쉼표로 구분
10.5 프로퍼티 접근
- 대괄호 표기법의 경우 프로퍼티 접근 연산자 내부에 지정하는 키값은 무조건 따옴표로 감싸야함
10.7 프로퍼티 동적 생성
- 존재하지 않는 프로퍼티 값 추가시 자동으로 생성되고 추가됨