/*
[ λ¬Έμ μκ° ]
μλ μ½λμ 4κ°μ λ³μ a,b,c,dμ νμ
μ κ°κ° μ΄λ»κ² μΆλ‘ λ κΉμ?
- λ³μ aμ μΆλ‘ κ²°κ³Όλ₯Ό A νμ
μ μ μν΄μ£ΌμΈμ
- λ³μ bμ μΆλ‘ κ²°κ³Όλ₯Ό B νμ
μ μ μν΄μ£ΌμΈμ
- λ³μ cμ μΆλ‘ κ²°κ³Όλ₯Ό C νμ
μ μ μν΄μ£ΌμΈμ
- λ³μ dμ μΆλ‘ κ²°κ³Όλ₯Ό D νμ
μ μ μν΄μ£ΌμΈμ
- λ³μ eμ μΆλ‘ κ²°κ³Όλ₯Ό E νμ
μ μ μν΄μ£ΌμΈμ
*/
let a = 10;
const b = 20;
const c = [1, 2];
const d = [1, "hello", true];
const e = [1, 2, 3] as const;
/* [Quiz] λ³μ aμ νμ
μ 무μμΌλ‘ μΆλ‘ λ κΉμ? */
type A = number;
/* [Quiz] λ³μ bμ νμ
μ 무μμΌλ‘ μΆλ‘ λ κΉμ? */
type B = 20;
/* [Quiz] λ³μ cμ νμ
μ 무μμΌλ‘ μΆλ‘ λ κΉμ? */
type C = number[];
/* [Quiz] λ³μ dμ νμ
μ 무μμΌλ‘ μΆλ‘ λ κΉμ? */
type D = (number|string|boolean)[];
/* [Quiz] λ³μ eμ νμ
μ 무μμΌλ‘ μΆλ‘ λ κΉμ? */
type E = [1,2,3];
/*
[ λ¬Έμ μκ° ]
λ€μ μꡬμ¬νμ λ§μ‘±νλ Animal, DogCat(κ°λ₯μ΄) νμ
μ μμ±νμΈμ
- Animal νμ
μ Dog νμ
μΌ μλ Cat νμ
μΌ μλ μμ΅λλ€.
- DogCat νμ
μ Dogμ΄μ Catμ
λλ€.
*/
/* [Quiz] μλμ μ½λλ₯Ό μμ±ν΄ μ€λ₯λ₯Ό μ κ±°νμΈμ */
type Dog = {
name: string;
color: string;
};
type Cat = {
name: string;
age: number;
};
// μλλΆν° μμ± λΆλΆ
type Animal = Dog | Cat;
type DogCat = Dog & Cat;