Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 싱글톤
- FillMethod
- 카카오페이
- java
- API
- learning javascript
- image
- JSP
- iamport
- javascript
- 결제연동
- Awake()
- FillAmount
- Unity
- 백준
- 코딩테스트
- BOJ
- 린트
- DontDestroyOnLoad()
- 아임포트
- 백준알고리즘
- ajax
- Destroy()
- 바벨
- web
- 알고리즘
- FillOrigin
- EOF
Archives
- Today
- Total
IT는 개발자
[TypeScript] 객체 디스트럭처링 본문
객체 디스트럭처링:
객체 리터럴에서 변수명에 대응하는 속성값을 추출해 변수로 할당하는데 유용
let { id, country = 88 } = { id: "happy" }
console.log(id) <- happy
console.log(country) <- 88
let { id: newName1, country: newName2 } = { id: "happy", country: 88 }
console.log(newName1) <- happy
타입 obj = {
name:String
nationality:String
}
function printProfile(파라미터:obj){
}
function printProfile({ name, nationality = "none" } = { name: "anonymous" }) {
console.log(name, nationality);
}
printProfile(); -> anonymous none
printProfile({ name: "happy" }); // nationality는 디폴트 값인 ?가 정해졌으므로 생략 가능
printProfile({ name: "happy", nationality: "korea" });
// printProfile({}); // name은 디폴트 값이 없으므로 생략 불가능
// printProfile({ nationality: "korea" }); // name은 디폴트 값이 없으므로 생략 불가능
type C = { a: string, b?: number }
function fruit({ a, b }: C): void {
console.log(a, b);
}
fruit({ a: "apple", b: 10 });
fruit({ a: "apple" });
->a 는 string type 생략 불가능 b는 생략 가능
배열 디스트럭처링:
let numbers = ["one", "two", "three", "four", "five"];
let [nums1, nums2] = numbers; // 위치에 따라 순서대로 디스트럭처링 수행
console.log(nums1, nums2); -> one two
let [,,nums3,nums4,] = numbers; // ,를 이용해 부분 생략 가능
console.log(nums3, nums4); -> three four
[nums4, nums3] = [nums3, nums4]; // 디스트럭처링을 이용해 변수 값을 교체
console.log(nums3, nums4); -> four three
let [color1, color2="blue"] = ["black"]; // 기본값 지정 가능
console.log(color1, color2);
function f([first, second]: [number, string]) {
console.log(first);
console.log(second);
}
f([100, "hello"]); ->배열의 요소를 함수의 디스트럭처링 매개변수로 전달
전개연산자 …
얕은 복사방법으로 obj2 객체로 복사한다
let obj2 = { a:1, b:2, ...obj }
거꾸로도 활용 가능
let numGroup = { n1: 1, n2: 2, n3: 3 };
let { n2, ...n13 } = numGroup;
console.log(n2, n13) <-n2 속성 외의 나머지 속성을 n13이 객체로 받아진다
출처: 퀵스타트 타입스크립트
'typescript' 카테고리의 다른 글
[TypeScript] 변수선언과 기본타입 (0) | 2022.06.27 |
---|
Comments