5.1.1. 산술 연산자
- 지수 연산자(exponentiation operator)
- ES7에서 제공하는 기능으로 ** 라는 연산자로 사용된다. Math.pow를 대체해 사용할 수 있다
- 10 ** 2 ⇒ 100 / 10 ** 3 ⇒ 1000
5.1.2. 비교, 논리, 조건 연산자
- == 와 != 연산자 대신 ===과 !== 사용하기를 권장
- 위 연산자를 사용해야 자바스크립트로 컴파일하고 나서도 타입 안전성을 보장할 수 있기 때문
5.2.1. 객체 디스트럭처링
객체 리터럴에서 변수명에 대응하는 속성값을 추출해 변수로 할당하는 데 유용
let { id, country = 88 } = { id: "happy" }; console.log(id, country); // happy, 88디스트럭처링 할당 시 할당할 객체 속성에 새로운 이름을 부여해 속성을 재명명(property renaming)을 할 수 있다.
let { id: newName1, country: newName2 } = { id: "happy", country: 88 }; console.log(newName1, newName2); // happy 88;함수 매개변수에 디스트럭처링 사용하기
function printProfile({ name, nationality = "?" }) { console.log(name, nationality); } printProfile({ name: "happy" }) // happy ? // 위 코드에서 printProfile 함수는 반드시 객체를 전달해야 한다. ※만약 객체 전달을 생략하려면 아래 코드와 같이 우항에 할당식을 전달 해야한다.※ function printProfile({ name, nationality = "none" } = { name: "anonymous" }) { console.log(name, nationality); } // 위 같은 함수를 작성하게 되면 아래와 같은 함수 호출이 가능 printProfile(); printProfile({ name: "happy" }); printProfile({ name: "happy", nationality: "korea" });객체 디스트럭처링 시 type 키워드 활용
type C = { a: string, b?: number }; function fruit({ a, b }: C): void { console.log(a, b); } fruit({ a: "apple", b: 10 }); fruit({ a: "apple" });
5.2.2. 배열 디스트럭처링
예시 코드
let numbers = ["one", "two", "three", "four", "five"]; let [num1, num2] = numbers; console.log(num1, num2); // one two let [, , num3, num4,] = numbers; console.log(num3, num4); // three four [num4, num3] = [num3, num4]; console.log(num3, num4); // four three let [color1, color2 = "blue"] = ["black"]; console.log(color1, color2); // black blue
5.3. 전개 연산자
let [first, ...second] = [1, 2, 3];
console.log(first); // 1
console.log(second); // [2, 3]5.3.2. 전개 연산자를 이용한 객체 요소 확장
- 전개 연산자는 얕은 복사(shallow copy) 방식으로 값을 복사한다.
'typescript' 카테고리의 다른 글
| CH 1,2(타입스크립트 소개 / 개발 환경 구축) (2) | 2023.11.08 |
|---|---|
| CH4. 제어문 (0) | 2023.09.18 |
| CH14. 프로젝트 구성과 번들링 (0) | 2023.09.18 |