Intro
javascriptμ μ΅λͺ ν¨μμ λν΄ μμ보λλ‘ νκ² μ΅λλ€.
Anonymous function
μ΅λͺ
ν¨μλ μ°κ²°λ μ΄λ¦μ΄ μλ ν¨μμ
λλ€. μΌλ°μ μΌλ‘ JavaScriptμμ ν¨μλ₯Ό μ μνκΈ° μν΄ ν¨μ μ΄λ¦ μμ function ν€μλλ₯Ό μ¬μ©νμ§λ§ JavaScriptμ μ΅λͺ
ν¨μμμλ ν¨μ μ΄λ¦ μμ΄ function ν€μλλ§ μ¬μ©ν©λλ€.
μ΅λͺ
ν¨μλ μ²μ μμ±λ νμλ μ κ·Όν μ μμΌλ©° κ°μΌλ‘ ν¨μλ‘ μ μ₯λ λ³μλ‘λ§ μ κ·Όν μ μμ΅λλ€. μ΅λͺ
ν¨μλ μ¬λ¬ μΈμλ₯Ό κ°μ§ μλ μμ§λ§ νλμ ννμλ§ κ°μ§ μ μμ΅λλ€.
Syntax
function() {
// Function Body
}
→ function ν€μλλ₯Ό μ¬μ©νμ¬ μ μΈνμμ΅λλ€.
( () => {
// Function Body...
} )();
→ νμ΄ν ν¨μλ₯Ό μ¬μ©νμ¬ μλμ κ°μ΄ μ μΈν μλ μμ΅λλ€.
Example
#1
<script>
var greet = function () {
console.log("Welcome to GeeksforGeeks!");
};
greet();
</script>
// Welcome to GeeksforGeeks!
→ μ΄ μμ μμλ μ½μμ λ©μμ§λ₯Ό μΆλ ₯νλ μ΅λͺ ν¨μλ₯Ό μ μν©λλ€. μ΄ν ν¨μλ greet λ³μμ μ μ₯λ©λλ€. greet()λ₯Ό νΈμΆνμ¬ ν¨μλ₯Ό νΈμΆνκ³ μμ΅λλ€.
#2
<script>
var greet = function (platform) {
console.log("Welcome to ", platform);
};
greet("GeeksforGeeks!");
</script>
// Welcome to GeeksforGeeks!
→ μ΄ μμ μμλ μ΅λͺ ν¨μμ argumentsλ₯Ό μ λ¬ν©λλ€.
#3
<script>
setTimeout(function () {
console.log("Welcome to GeeksforGeeks!");
}, 2000);
</script>
→ javascriptλ κ³ μ°¨ν¨μ (Higher-Order Functions)μ μ§μνλ―λ‘ μ΅λͺ ν¨μλ₯Ό 맀κ°λ³μλ‘ λ€λ₯Έ ν¨μμ μ λ¬ν μλ μμ΅λλ€. μ΄ μμ μμλ μ΅λͺ ν¨μλ₯Ό μ½λ°±ν¨μλ‘ setTimeout() λ©μλμ μ λ¬ν©λλ€. 2000ms νμ μ μ΅λͺ ν¨μλ₯Ό μ€ννκ² λ©λλ€.
#4
<script>
(function () {
console.log("Welcome to GeeksforGeeks!");
})();
</script>
// Welcome to GeeksforGeeks!
→ μ΄κΈ°ν μ§ν ν¨μλ₯Ό μ€νν μλ μμ΅λλ€. μ΄λ₯Ό μ체 μ€ν ν¨μ(Self Executing Function) λΌκ³ λ ν©λλ€. κ΄νΈ μΆκ° μ μ΅λͺ ν¨μλ₯Ό μ¦μ μ€νν μ μμ΅λλ€.
#5
<script>
var greet = () =>
{
console.log("Welcome to GeeksforGeeks!");
}
greet();
</script>
→ ES6μ Arrow Functionsλ‘ μλ €μ§ μ΅λͺ ν¨μλ₯Ό μ μΈνλ μλ‘κ³ λ 짧μ λ°©λ²μ λμ νμ΅λλ€. Arrow ν¨μμμλ function ν€μλκ° νμνμ§ μλ€λ μ μ μ μΈνκ³ λͺ¨λ κ²μ΄ λμΌνκ² μ μ§λ©λλ€. μ¬κΈ°μμ λ¨μΌ κ΄νΈλ‘ ν¨μλ₯Ό μ μν λ€μ '=>' λ€μμ ν¨μ λ³Έλ¬Έμ΄ μ΅λλ€.
#6
<script>
let greet = () => console.log("Welcome to GeeksforGeeks!");
greet();
</script>
→ ν¨μ λ³Έλ¬Έμ λͺ λ Ήλ¬Έμ΄ νλλ§ μλ κ²½μ° μ€κ΄νΈλ₯Ό μ κ±°ν μλ μμ΅λλ€.
#7
// JavaScript code..
(() => {
console.log("GeeksforGeeks");
})();
// This code is contributed by Aman Singla...
Disadvantage
νΈμ΄μ€ν (ν¨μ μ μΈλ³΄λ€ ν¨μ νΈμΆμ΄ μ μ€μ μμΉν΄λ μ€νλλ κΈ°λ₯)μ΄ μ μ©λμ§ μμ΅λλ€. μ΅λͺ ν¨μλ νΈμ΄μ€ν μ΄ μλνμ§ μκ³ , μΌλ° ν¨μλ μλνλ€λ κ²μ κΈ°μ΅νλλ‘ ν©μλ€.
//μ΅λͺ
ν¨μ νΈμΆ
hello( );
//μ΅λͺ
ν¨μ μ μΈ
var hello = function( ) {
document.write("Thello");
};
// result : μ€λ₯
//μΌλ° ν¨μ νΈμΆ
hello( );
// result : hello!
//μΌλ° ν¨μ μ μΈ
function hello( ) {
document.write("hello!");
}
https://www.geeksforgeeks.org/javascript-anonymous-functions/
https://velog.io/@blackb0x/%EC%9D%B5%EB%AA%85%ED%95%A8%EC%88%98Anonymous-function
'Programming > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] Math.floor()μ΄λ? (0) | 2022.12.14 |
---|---|
[JavaScript] parseInt()μ΄λ? (0) | 2022.12.14 |
[JavaScript] Axios μ€λ₯ μ²λ¦¬ / catch λ¬Έμμ Status Code λ°μμ€λ λ°©λ² (0) | 2022.10.04 |
[JavaScript] νλ¬ μ /ν λ μ§ κ΅¬νκΈ° (0) | 2022.10.01 |
[JavaScript] νΉμ λ¬Έμ μ κΉμ§ λ¬Έμμ΄ μλ₯΄λ λ°©λ² (substring μ΄μ©) (0) | 2022.10.01 |