
π‘ λ€μ΄κ°κΈ° μμ
TypeScriptλjavascriptκΈ°λ°μ νμ₯ μνΌμ (Superset)μΈμ΄λ‘ κΈ°λ³ΈJSμμ μ 곡νλ νμ μTSνμ μ΄ μ‘°κΈ λ μΆκ°λλ λ°©μμ΄λ€.
Any : Dynamic Type λͺ¨λ νμ
νμ©, νμ
μ μ νμ΄ μμ.Any νμ
μ μλ¬΄λ° κΈ°λ₯λ μ 곡νμ§ λͺ»νλ―λ‘ TSλ₯Ό μ¬μ©νλ μλ―Έκ° μμ΄μ§λ€. let typeAny: any = "any" + 1;
// 무μμ΄λ κ° ν λΉμ΄ κ°λ₯νκ³ μλ¬λ λμ§ μλλ€.
typeAny = 2;
typeAny = true;
typeAny = null;
// νμ
κ²μ¬λ₯Ό νμ§ μκΈ°λλ¬Έμ μ°μ°μ μ¬μ©λ κ°λ₯νλ€.
// λ°νμμ μλ¬λ₯Ό λμμ€λ€.
typeAny + 1
Unknown : Anyμ λ§μ°¬κ°μ§λ‘ λͺ¨λ νμ
μ νμ©νλ€. λ¨, Anyμλ λ€λ₯΄κ² νμ
μ μ격νκ² κ²μ¬ν΄ μλ¬λ₯Ό λμμ€λ€.Unknownμ νμ
κ²μ¬λ₯Ό μ§νν΄ μ¬μ©ν΄μΌ νλ€.Unknown Any보λ€λ Unknownμ μ¬μ©νλκ² λ μ’λ€!let typeUnknown: unknown;
// ν΄λΉ λ³μλ Anyμ κ°μ΄ λͺ¨λ νμ
μ λ£μ μ μλ€.
typeUnknown = 'string';
typeUnknown = 1
typeUnknown + 1 // Error
// μ΄λ°μμΌλ‘ νμ
μ κ²μ¦νμ¬ μ¬μ©νμ¬μΌ νλ€.
typeof typeUnknown === "number" ? typeUnknown + 1 : false