π» voidλ?
void
λ κ°μ λ°ννμ§ μλ ν¨μμ 리ν΄κ°μ μλ―Έν©λλ€. ν¨μμ return
λ¬Έμ΄ μκ±°λ λͺ
μμ μΌλ‘ κ°μ λ°ννμ§ μμλ μΆλ‘ λλ νμ
μ
λλ€.
π» void λ°ν νμ μΌλ‘μ λ¬Έλ§₯μ νμ΄ν
void
λ°ν νμ
μΌλ‘μ λ¬Έλ§₯μ νμ΄νμ΄λ, void
λ°ν νμ
μ κ°μ§λ ν¨μ νμ
ννμμ΄λ, ν¨μ νΈμΆ μκ·Έλμ²μ κ°μ κ²μ μλ―Έν©λλ€. void
λ°ν νμ
μ κ°μ§λ λ¬Έλ§₯μ ν¨μ νμ
μ΄ κ΅¬νλμμλλ, μ무κ°μ΄λ 리ν΄ν μ μμ§λ§ 무μλ©λλ€. μ¦ TypeScript
κ° μλ¬΄λ° κ°μ 리ν΄νμ§ λͺ»νλλ‘ κ°μ νμ§ μμ΅λλ€.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// ν¨μ νμ
ννμ
type voidFuncTypeExpression = () => void;
// ν¨μ νΈμΆ μκ·Έλμ²
interface voidFuncCallSignature {
(): void;
}
const f1: voidFuncTypeExpression = () => {
return true;
};
const f2: voidFuncCallSignature = () => {
return "hello";
};
const f3: voidFuncTypeExpression = function () {
return true;
};
μμ κ°μ΄ μ μΈλ ν¨μλ€μ νΈμΆνμ λ λ°νκ°μ λͺ¨λ void
λ‘ μΆλ‘ λ©λλ€.
1
2
3
const result1 = f1(); // void
const result2 = f2(); // void
const result3 = f3(); // void
void
λ°ν νμ
μ κ°μ§λ λ¬Έλ§₯μ ν¨μ νμ
μ μ£Όλ‘ callback
ν¨μμ νμ
μμ λ³Ό μ μμ΅λλ€.
μλλ JavaScript
λ΄μ₯ ν¨μμΈ forEach
μ νμ
μ
λλ€.
1
2
3
4
5
6
interface Array<T> {
forEach(
callbackfn: (value: T, index: number, array: T[]) => void,
thisArg?: any
): void;
}
callbackfn
μ νμ
μ΄ void
λ₯Ό λ°ννλ ν¨μ νμ
ννμμΌλ‘ λμ΄μμ΄, μ€μ μ΄λ€ κ°μ 리ν΄νλλΌλ μ€λ₯κ° λ°μνμ§ μμ΅λλ€.
λ°λΌμ μλμ κ°μ μ½λκ° μ±λ¦½νκ² λ©λλ€.
1
2
3
4
[1, 2, 3].forEach((element) => {
console.log(element);
return element;
});
π» 리ν°λ΄ ν¨μμ λ°νκ°μΌλ‘μ void
λ§μ½ 리ν°λ΄ ν¨μμ μ μκ° void
리ν΄κ°μ κ°μ§κ³ μλ€λ©΄, κ·Έ ν¨μλ μλ¬΄λ° κ°λ λ°νν μ μμ΅λλ€.
1
2
3
4
5
6
7
8
9
10
11
function f1(): void {
return true;
}
const f2 = function (): void {
return true;
};
const f3 = (): void => {
return true;
};
μ μΈ ν¨μλ λͺ¨λ νμ μλ¬κ° λ°μνκ² λ©λλ€.