TypeScript 공부 #5💜 프론트엔드/TypeScript2023. 7. 31. 14:41
Table of Contents
☘️리터럴, 유니온/교차 타입
변수를 선언할 때, const와 let 을 사용한다.
const
변하지 않는 값을 선언할 때 사용
let
변하는 값을 선언할 때 사용
그래서 const로 선언한 변수를 수정할 경우 에러가 뜨게 된다.
문자열 이외에 다른 타입을 넣고 싶을 경우 다음과 같이 수정할 수도 있다.
const name1 = "짱잼";
let name2: string | number = "철수";
name2 = 1;
여기서 name1 처럼 정해진 값을 가진 것을 리터럴 타입 이라고 한다.
리터럴 타입
Job이라는 문자열 리터럴 타입을 만든다.
그러면 Job 타입을 사용할 경우 선언해 둔 문자열만 사용할 수 있게 되며, 그 외에 문자열을 사용할 경우 에러가 발생한다.
type Job = "student" | "developer" | "teacher" // 문자열 리터럴 타입
interface User {
name: string;
job:Job
}
const user: User = {
name: "짱잼",
job: "student",
}
유니온 타입
유니온 타입은 위에서 리터럴 타입을 소개하면서 사용하였다.
type Job = "student" | "developer" | "teacher"
바로 | 가 유니온 타입으로 OR 을 의미한다.
즉 Job 이라는 타입에는 "student" 또는 "developer" 또는 "teacher" 가 있다는 것이다.
유니온 타입은 인터페이스도 사용가능하다.
interface Car {
name: "Car";
color: string;
start(): void;
}
interface Mobile {
name: "Mobile";
color: string;
call(): void;
}
function getGift(gift: Car | Mobile) {
console.log(gift.color);
if (gift.name === 'Car') {
gift.start();
} else {
gift.call();
}
}
const UserCar: Car = {
name: "Car",
color: "yellow",
start() {
console.log("start!!")
}
}
const UserMobile: Mobile = {
name: "Mobile",
color: "black",
call() {
console.log("call!!")
}
}
getGift(UserCar);
getGift(UserMobile);
교차 타입
교차 타입은 영어로 Intersection 타입이라고 하며, AND 를 의미한다.
그래서 타입의 속성을 합쳐준다.
interface Car {
name: string;
price: number;
}
interface Mobile {
name: string
color: string;
call(): void;
}
const MobileCar: Car & Mobile = {
name: "mobileCar",
color: "red",
price: 10000,
call() {
console.log("call!!!")
}
}
☘️참고 자료
☘️마무리 하며...
리터럴, 유니온, 교차 타입에 대해 알게 되었다
'💜 프론트엔드 > TypeScript' 카테고리의 다른 글
TypeScript 공부 #7 (0) | 2023.07.31 |
---|---|
TypeScript 공부 #6 (0) | 2023.07.31 |
TypeScript 공부 #4 (0) | 2023.07.30 |
TypeScript 공부 #3 (0) | 2023.07.29 |
TypeScript 공부 #2 (0) | 2023.07.28 |
@짱잼 :: 짱잼이의 FE 개발 공부 저장소
FE 개발자가 되고 싶은 짱잼이
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!