type Direction = "right" | "left" | "up" | "down"; //string Literal Types // const move = function (direction: Direction) { console.log(direction); }; move("right"); // const print = (value: string | number) => { console.log(value); }; print(1); // 1(number) print("1"); // 1(string)
JS
의 논리연산자중 OR
을 뜻하는 ||
와 같이 A이거나 B이거나
를 뜻한다.
위 move
함수의 인자로 Direction
타입을 지정하였으며, 해당 인자는 right
or left
or up
or down
만이 올 수 있게 된다.
print
함수의 경우, value
타입은 string
이거나 number
만이 올 수 있다.
type Student = { name: string; age: number; }; // type Staff = { id: number; work: () => number; // number값을 리턴 }; // const WorkInWecode = (value: Student & Staff) => { const { name, age, id, work } = value; console.log(name, age, id, work()); }; // WorkInWecode({ name: "yongmin", age: 29, id: 10, work: () => 8, // yongmin 29 10 10 });
여러 타입을 만족하는, 하나의 타입을 의미한다. (AND
를 뜻하는 &&
와 같은 의미로 사용)
Student
타입과 Staff
타입을 또다른 타입으로 명명하여 사용할 수 있다. (ex> type Person = Student & Staff
)
드림코딩 엘리님의 TS 및 OPP 강의