
π "μ΄ κ°μ μ΄ νμ μ΄μΌ!" λΌκ³ TypeScriptμκ² μλ €μ£Όλ κ²
μ€μ λ‘ κ°μ΄ λ°λλ κ² μλ β
μ»΄νμΌλ¬λ§ μμ΄λ μ©λ βοΈ
let value = {} as Person;
π βμ΄κ±΄ Person νμ μ΄μΌ!β λΌκ³ λ―Ώκ² λ§λλ κ²
π λ¬Έμ μν©
let person = {};
person.name = "army"; // β μλ¬
π μ΄μ : {} λΉ κ°μ²΄λ‘ μΆλ‘ λ¨
let person = {} as Person;
person.name = "army"; // βοΈ
person.age = 2;
π μ²μλΆν° Person νμ μ΄λΌκ³ μλ €μ€
type Cat = {
name: string;
color: string;
};
let cat = {
name: "army",
color: "white",
breed: "μ½λ¦¬μ μ"
} as Cat;
π μλλ breed λλ¬Έμ μλ¬ β
π as Cat νλ©΄ κ²μ¬ μ ν¨ βοΈ
β οΈ μ£Όμ:
π λ무 λ§μ΄ μ°λ©΄ μνν¨ (νμ
κ²μ¬ 무λ ₯νλ¨)
π μ무 νμ μ΄λ λ§ λ°κΏ μ μμ!
A β B λ¨μΈνλ €λ©΄
π λ μ€ νλλ λ§μ‘±ν΄μΌ ν¨
- Aκ° Bμ μνΌνμ
- Aκ° Bμ μλΈνμ
π μμ
let num1 = 10 as never; // βοΈ
let num2 = 10 as unknown; // βοΈ
// let num3 = 10 as string; β
let num3 = 10 as unknown as string; // βοΈ
π μννμ§λ§ κ°λ₯
β οΈ μ€λ¬΄μμλ μ§μ§ νμν λλ§!
π κ°μ λ "κ³ μ " μν΄
let num = 10 as const;
π νμ : 10 (리ν°λ΄ νμ )
let dog = {
name: "hani",
color: "white"
} as const;
π κ²°κ³Ό:
readonly μλ μ μ©λ¨
κ° μμ λΆκ° β
dog.name = "tom"; // β μλ¬
π "μ΄ κ° μ λ null/undefined μλ!" μ΄λΌκ³ νμ ν λ
π λ¬Έμ
type Post = {
title: string;
author?: string;
};
const len: number = post.author?.length; // β
π undefined κ°λ₯μ± λλ¬Έ
const len: number = post.author!.length;
π "author 무쑰건 μμ΄!" λΌκ³ μ μΈ
β οΈ μ£Όμ
μ€μ λ‘ μμΌλ©΄ λ°νμ μλ¬ ν°μ§ π₯
νμ
λ¨μΈ λ¨λ° β
π νμ
μ€ν¬λ¦½νΈ μ°λ μλ―Έ μμ΄μ§
Non-null (!) λ¨μ© β
π μ§μ§ μμ λλ§ μ¨μΌ ν¨
as const μ€ν΄ β
π "μμμ²λΌ λ§λ λ€" = κ° λ³κ²½ κΈμ§ + λ μ νν νμ
λ€μ€ λ¨μΈ μν β οΈ
as unknown as string
π κ±°μ λ§μ§λ§ μλ¨
π νμ λ¨μΈμ νμ μ λ°κΎΈλ κ²μ΄ μλλΌ, μ»΄νμΌλ¬μκ² νμ μ "λ―Ώκ² νλ" κΈ°λ₯μ΄λ€
.
π μ€λ¬΄μμ μμ£Ό μ°λ ν¨ν΄
const input = document.getElementById("id") as HTMLInputElement;
π DOM λ€λ£° λ λ§μ΄ μ¬μ©ν¨