GiantStepDEV

νƒ€μž…μŠ€ν¬λ¦½νŠΈμ—μ„œ λ³€μˆ˜μ— 값을 ν• λ‹Ήν•˜κ³  νƒ€μž…μ„ λΆ€μ—¬ν•˜λŠ” 방법은 2κ°€μ§€ μž…λ‹ˆλ‹€.

interface Item {
  name: string;
}

const book:Item = { name: "Titanic" }; // μ„ μ–Έ 방식
const pencil = { name: "Monami" } as Item; // 단언 방식

 

얼핏 두가지 방식은 κ°™μ•„ λ³΄μ΄μ§€λ§Œ νƒ€μž…μ²΄μ»€μ—μ„œ 차이점이 λ“œλŸ¬λ‚©λ‹ˆλ‹€.

const book:Item = {}; // 'Item' μœ ν˜•μ— ν•„μš”ν•œ 'book' 속성이 '{}' μœ ν˜•μ— μ—†μŠ΅λ‹ˆλ‹€.
const pencil = {} as Item; // 였λ₯˜X

 

이 차이점은 μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

 

νƒ€μž… 선언은 ν• λ‹Ήλ˜λŠ” 값이 ν•΄λ‹Ή μΈν„°νŽ˜μ΄μŠ€λ₯Ό λ§Œμ‘±ν•˜λŠ”μ§€ κ²€μ‚¬ν•©λ‹ˆλ‹€.

νƒ€μž… 단언은 κ°•μ œλ‘œ νƒ€μž…μ„ μ§€μ •ν–ˆμœΌλ‹ˆ νƒ€μž… μ²΄μ»€μ—κ²Œ 였λ₯˜λ₯Ό λ¬΄μ‹œν•˜λΌκ³  ν•˜λŠ” 것 μž…λ‹ˆλ‹€.

 

λ”°λΌμ„œ, νƒ€μž… 단언이 κΌ­ ν•„μš”ν•œ κ²½μš°κ°€ μ•„λ‹ˆλΌλ©΄ μ•ˆμ •μ„± 체크도 λ˜λŠ” νƒ€μž… 선언을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

profile

GiantStepDEV

@kongmi

ν¬μŠ€νŒ…μ΄ μ’‹μ•˜λ‹€λ©΄ "μ’‹μ•„μš”β€οΈ" λ˜λŠ” "κ΅¬λ…πŸ‘πŸ»" ν•΄μ£Όμ„Έμš”!