πŸ’™ Typescript/Typescript Exercises

[TS] TypeScript Exercises 4 해석 및 풀이

선달 2023. 7. 5. 15:23
λ°˜μ‘ν˜•

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

 

TypeScript Exercises

A set of interactive TypeScript exercises

typescript-exercises.github.io

 

λ°˜μ‘ν˜•