2024년 1월 28일
다음 요구사항을 만족하는 구현 시그니쳐를 완성하세요(매개변수 타입만 정의하면 됩니다)
function add(): number;
function add(a: number): number;
function add(a: number, b: number, c: number): number;
function add(a?: number, b?:number, c?:number) {
return (a ?? 0) + (b ?? 0) + (c ?? 0);
}
다음 요구사항을 만족하도록 사용자 정의 타입 가드를 완성하세요
type Guest = {
visitCount: number;
};
type Member = {
id: string;
};
type User = Guest | Member;
function isGuest(user: User) {}
function isMember(user: User) {}
function isGuest(user: User): user is Guest {
return (user as Guest).visitCount !== undefined;
}
function isMember(user: User): user is Member {
return (user as Member).id !== undefined;
}
다음 조건을 만족하는 3가지 인터페이스를 추가로 구현하세요
interface Person {
name: string;
}
interface Student extends Person {
grade: "A" | "B" | "C";
}
interface Developer extends Person {
skills: string[];
}
interface Boss extends Person {
company: string;
}