6장
템플릿 리터럴
- 백틱을 사용하여 표현
- 런타임에 일반 문자열로 변환
- 이스케이프 시퀀스를 사용하여 줄바꿈을 수행 → 템플릿 리터럴은 이스케이프 시퀀스를 사용하지 않고도 적용이 가능하다
var template = '<ul>\n\t<li>
<a href ="#">Home</a></li>\n<ul>';
var template= `<ul>
<li><a href="#">home</a></li>
</ul>`;
템플릿 리터럴 표현식 삽입
console.log(`1+2 = ${1+2}`) // 1+2 = ${1+2}
// '1+2 = ${1+2}'
7장
비교 연산자
- 동등비교
- ==
- 데이터 타입을 강제로 형 변환하여 똑같은 상태에서 값을 비교
var a = 3;
var b = '3';
console.log(a==b);
console.log(a==b);
- Obejct.is
- NaN이나 -0, +0에 대한 정확한 비교를 위해 사용
Object.is(a,b);
지수 연산자
- 5 ** 3
- (-4) ** 3
- Math.pow()
8장
레이블 문
- 블록문에 식별자를 붙인 형태
- 흐름을 제어할 때 사용
- 흐름을 방해할 수 있기 때문에 잘 사용하지 않는다
a{
~~~~~~
break a;
}
9장
옵셔널 체이닝 연산자
- ?.
- 좌항 피연사자의 값이 null undefined일 경우 undefined반환 아닐경우 우항 프로퍼티 반환
- 객체를 가리키기를 기대하는 변수가 null인지 undefined인지 확익할 때 유용
- 논리 연사자를 사용할 경우 false를 대체할 수 있는 표현식일 경우 null undefined가 아님에도 프로퍼티를 참조할 수 없다
let a = null;
let b = a?.b;
let c = '';
let d = c?.length;
let e = c && c.length;
null 병합 연산자
- ??
- 좌항의 피연사자가 null undefined 일 경우 우항 피연사자를 반환
var foo = null ?? 'dede';