Intro
As we introduced "type" to both User and Admin
it's now easier to distinguish between them.
Once object type checking logic was extracted
into separate functions isUser and isAdmin -
logPerson function got new type errors.
์ ์ ์ ์ด๋๋ฏผ์ ๋ํด type์ ์๊ฐํ๋ฏ์ด, ์ด์ ์ด ๋์ ๊ตฌ๋ถํ๋๊ฑด ์ฌ์์ก์ต๋๋ค. ๋ก์ง์ ๊ฒ์ฌํ๋ ๊ฐ์ฒด ํ์ ์ ์ถ์ถํด์ isUser๊ณผ isAdmin ํจ์์ ๋ถ๋ฆฌํด์ ๋ฃ์๋๋ logPerson ํจ์์ ์๋ก์ด ํ์ ์๋ฌ๊ฐ ์๊ฒผ์ต๋๋ค
Exercise
Figure out how to help TypeScript understand types in
this situation and apply necessary fixes.
์ด ์ํฉ์์ ํ์ ์คํฌ๋ฆฝํธ๊ฐ ํ์ ์ ์ดํดํ ์ ์๊ฒ ๋์์ค ์ ์์์ง ์์๋ด๊ณ ์์ ํด์ฃผ์ธ์
Code
ํน์ ๋ณ์๊ฐ ํน์ ํ์ ์ธ์ง ์๋์ง๋ฅผ ๋ฐํํ๋ person is Admin ํํ๋ฅผ ์ฌ์ฉํ๋ค.
boolean๊ณผ ๋น์ทํ๋ฉด์๋ ๋ค๋ฅด๋ค
export function isAdmin(person: Person): person is Admin {
return person.type === 'admin';
}
export function isUser(person: Person): person is User{
return person.type === 'user';
}
From
https://typescript-exercises.github.io/#exercise=4&file=%2Findex.ts
'๐ Type Challenges > Typescript Exercises' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TS] TypeScript Exercises 5 ํด์ ๋ฐ ํ์ด (0) | 2023.07.17 |
---|---|
[TS] TypeScript Exercises 5 ํด์ ๋ฐ ํ์ด (0) | 2023.07.14 |
[TS] TypeScript Exercises 3 ํด์ ๋ฐ ํ์ด (0) | 2023.07.04 |
[TS] TypeScript Exercises 2 ํด์ ๋ฐ ํ์ด (0) | 2023.07.03 |
[TS] TypeScript Exercises 1 ํด์ ๋ฐ ํ์ด (0) | 2023.07.03 |