핸드북
-
[TypeScript] 고급타입 - 2TypeScript 2022. 9. 22. 00:26
타입 별칭(Type Aliases) 타입 별칭은 새로운 타입을 만드는게 아닌 그 타입을 나타내는 새로운 이름을 만드는 것 입니다. type Name = string; type NameResolver = () => string; type NameOrResolver = Name | NameResolver; function getName(n: NameOrResolver): Name { if (typeof n === "string") { return n; } else { return n(); } } 프로퍼티 내에 자기 자신을 참조할 수 있습니다. type Tree = { value: T; left: Tree; right: Tree; } 타입별칭은 제네릭이 될 수 있습니다. type Container = { va..
-
[TypeScript] 고급타입-1TypeScript 2022. 9. 21. 23:26
교차 타입(Intersection Types) 교차 타입은 여러 타입을 하나로 결합합니다. Person & Serializable & Loggable 은 Person, Serializable, Loggable 타입의 모든 멤버를 갖습니다. 아래는 믹스인을 만드는 간단한 예제입니다. function extend(first: First, second: Second): First & Second { const result: Partial = {}; for (const prop in first) { if (first.hasOwnProperty(prop)) { (result as First)[prop] = first[prop]; } } for (const prop in second) { if (second.has..