π μ§λ
2. νμ μ€ν¬λ¦½νΈ κΈ°λ³Έ (8/8)
- Anyμ Unknown
- Voidμ Never
3. νμ μ€ν¬λ¦½νΈ μ΄ν΄νκΈ° (3/9)
- νμ μ€ν¬λ¦½νΈ μ΄ν΄νκΈ°
- νμ μ μ§ν©μ΄λ€
- νμ κ³μΈ΅λμ ν¨κ» κΈ°λ³Ένμ μ΄ν΄λ³΄κΈ°
πͺ μμ½ & κ³Όμ
=> μ€λ λ°°μ΄ λ΄μ©μ ν λλ‘ μλμ 4κ°μ§ νμ μ λν΄ κ°λ³κ² μ 리νκΈ°
Unknown
λͺ¨λ κ°μ λ°μ μ μλ νμ μ΄μ§λ§, unknown νμ μ μ¬μ©ν λλ λ³μλ₯Ό μ¬μ©νκΈ° μ μ λͺ μμ μΈ νμ 체ν¬λ νμ λ¨μΈμ ν΅ν΄ ν΄λΉ κ°μ νμ μ νμΈν΄μΌλ§ μ€μ λ‘ ν΄λΉ κ°μ μ κ·Όνκ±°λ μ¬μ©ν μ μλ€.
anyμ λ§μ°¬κ°μ§λ‘ μ΄λ ν νμ
μ κ°λ μ μ₯ν μ μλ€.
νμ§λ§ λ€λ₯Έμ μ unknownνμ
μ κ°μ λ€λ₯Έ νμ
μ λμ
ν μ μκ³ λ©μλλ€λ μ¬μ©μ΄ λΆκ°λ₯νλ€.
// κ°μ νμ
μ νμΈν΄μΌλ§ μ€μ λ‘ ν΄λΉ κ°μ μ κ·Όν μ μμμ 보μ¬μ£Όλ μμ
let exam1: unknown = 123;
// (μλμ μ£Όμ ν΄μ μ μλ¬ λ°μ)
// let num: number = exam1;
// "Error: 'unknown' νμ
λ³μλ₯Ό 'number' νμ
μ ν λΉν μ μμ΅λλ€."
if (typeof exam1 === 'number') {
let num: number = exam1; // μ΄μ 'number' νμ
μΌλ‘ ν λΉμ΄ κ°λ₯νλ€.
console.log(num);
}
typeof μ°μ°μλ₯Ό μ¬μ©νμ¬ λ³μμ νμ μ 체ν¬νλλ° λ³μκ° μ μΈν ν΄λΉ νμ μΌ κ²½μ°μλ§ λΈλ‘μ μ€ννλ€
λ€λ§, νμ λ¨μΈμ μ€μ λ‘ νμ μ΄ λ€λ₯Ό κ²½μ° λ°νμ μλ¬κ° λ°μν μ μκΈ° λλ¬Έμ νμ 체ν¬λ₯Ό μ νΈνλ κ²μ΄ μ½λμ μμ μ±κ³Ό μ μ§λ³΄μμ±μ λμΌ μ μλ€!
function TypeChecking(text: unknown): void {
// νμ
체ν¬λ₯Ό ν΅ν΄ μμ νκ² μ¬μ©
if (typeof text === 'string') {
console.log('Text is a string:', text.toUpperCase());
} else if (typeof text === 'number') {
console.log('Text is a number:', text * 2);
} else {
console.log('Text is of unknown type');
}
}
TypeChecking('hello'); // Text is a string: HELLO
TypeChecking(42); // Text is a number: 84
TypeChecking(true); // Text is of unknown type
= Unknown νμ μ μ»΄νμΌλ¬μκ² ν΄λΉ κ°μ νμ μ 보λ₯Ό μ 곡νμ§ μλ μνμμλ νμ μμ μ±μ μ μ§νκΈ° μν΄ μ΄λ ν μ°μ°λ νμ©νμ§ μλλ€. μ΄ λλ¬Έμ anyλ³΄λ€ λ μμ νλ€ !!
Never
ν¨μκ° νμ μμΈλ₯Ό λμ§κ±°λ 무ν 루νμ λΉ μ Έ μ λ λ°ννμ§ μλ κ²½μ°μ νμ
μ£Όλ‘ μμΈ μν©μ λ€λ£¨κ±°λ 무ν 루νμΌ λ μ¬μ©νλ€. λ€λ₯Έ λͺ¨λ νμ
μ νμ νμ
μ΄κ³ , μ΄λ€ κ°λ ν λΉν μ μλ€!!
function throwError(message: string): never {
throw new Error(message);
}
function infiniteLoop(): never {
while (true) {
// 무ν 루ν ~.~
}
}
Void
μ΄λ€ κ°λ λ°ννμ§ μλ ν¨μμ λ°ν νμ
μ£Όλ‘ ν¨μκ° μ¬μ΄λ μ΄ννΈλ§ κ°κ³ , λ°ν κ°μ΄ νμνμ§ μμ λ μ¬μ©νλ€
function ConsoleMessage(message: string): void {
console.log(message);
}
function NoReturn(): void {
console.log("This function doesn't return any value.");
}
Any
TypeScriptμ νμ
κ²μ¬λ₯Ό μ°ννκ³ λͺ¨λ μ’
λ₯μ κ°μ νμ©νλ λμ νμ
(μΉνΈν€ !)
νμ§λ§ νμ
κ²μ¬λ₯Ό λ°μ§ μλ κ²μ΄κΈ° λλ¬Έμ νμ
μ€ν¬λ¦½νΈμ μ΄μ μ νμ©νμ§ λͺ»νλ€.
= νμ
μμ μ±μ΄ λ¨μ΄μ§λ€. μ΅λν μ§μν΄μΌνλ€ !
let value: any = 123;
value = 'hello';
value = true;