Function ์ฐ์ตํด์ฆ 1
1. ํจ์ ์ ์ธ๋ฌธ ์์ฑ
๋ ์๋ฅผ ๋ํ๋ add ํจ์๋ฅผ ์ ์ธ๋ฌธ์ผ๋ก ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
function ํค์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์) function ํจ์์ด๋ฆ(๋งค๊ฐ๋ณ์) { ... }
function add(a, b) {
return a + b;
}
console.log(add(2, 3));
2. ํจ์ ํํ์ ์์ฑ
๋ ์๋ฅผ ๊ณฑํ๋ multiply ํจ์๋ฅผ ํจ์ ํํ์์ผ๋ก ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
๋ณ์์ ํจ์๋ฅผ ํ ๋นํฉ๋๋ค.
์) const ํจ์์ด๋ฆ = function(๋งค๊ฐ๋ณ์) { ... }
const multiply = function(a, b) {
return a * b;
}
console.log(multiply(2, 4));
3. ํ์ดํ ํจ์ ์์ฑ
๋ ์๋ฅผ ๋นผ๋ subtract ํจ์๋ฅผ ํ์ดํ ํจ์๋ก ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
(a, b) => a - b ํํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
const subtract = (a, b) => a - b;
console.log(subtract(5, 2));
4. ๊ธฐ๋ณธ๊ฐ ๋งค๊ฐ๋ณ์
๋งค๊ฐ๋ณ์ b์ ๊ธฐ๋ณธ๊ฐ์ด 10์ธ add ํจ์๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
function add(a, b = 10) ํํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
function add(a, b = 10) {
return a + b;
}
console.log(add(5));
5. return๋ฌธ ์ฌ์ฉ
๋ฌธ์์ด์ ๋ฐ์ "Hello, ์ด๋ฆ!"์ ๋ฐํํ๋ greet ํจ์๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
return "Hello, " + name + "!" ํํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
function greet(name) {
return "Hello, " + name + "!";
}
console.log(greet("Tom"));
6. ํจ์ ํธ์ถ
sum ํจ์๋ฅผ ์ ์ํ๊ณ , 3๊ณผ 7์ ์ธ์๋ก ์ ๋ฌํ์ฌ ํธ์ถํ๋ ์ฝ๋๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
sum(3, 7) ํํ๋ก ํธ์ถํฉ๋๋ค.
function sum(a, b) {
return a + b;
}
console.log(sum(3, 7));
7. ์ต๋ช
ํจ์ ์ฌ์ฉ
setTimeout์ ์ฌ์ฉํด 1์ด ํ "Hello"๋ฅผ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
setTimeout(function() { ... }, 1000) ํํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
setTimeout(function() {
console.log("Hello");
}, 1000);
8. ์ฝ๋ฐฑ ํจ์ ์ฌ์ฉ
ํจ์ printTwice๋ฅผ ์ ์ํ๊ณ , ์ฝ๋ฐฑ ํจ์๋ฅผ ๋ฐ์ 2๋ฒ ์คํํ๋ ์ฝ๋๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
๋งค๊ฐ๋ณ์๋ก ํจ์๋ฅผ ๋ฐ์ callback()์ 2๋ฒ ํธ์ถํฉ๋๋ค.
function printTwice(callback) {
callback();
callback();
}
printTwice(function() {
console.log("Hi");
});
9. ํจ์์์ ๋ฐฐ์ด ๋ฐํ
๋ ์๋ฅผ ๋ฐ์ [a, b] ๋ฐฐ์ด์ ๋ฐํํ๋ makeArray ํจ์๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
return [a, b] ํํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
function makeArray(a, b) {
return [a, b];
}
console.log(makeArray(1, 2));
10. ํจ์์์ ๊ฐ์ฒด ๋ฐํ
์ด๋ฆ๊ณผ ๋์ด๋ฅผ ๋ฐ์ ๊ฐ์ฒด {name, age}๋ฅผ ๋ฐํํ๋ makePerson ํจ์๋ฅผ ์์ฑํ์์ค.
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํ์ธ์
return {name: name, age: age} ํํ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
function makePerson(name, age) {
return {name: name, age: age};
}
console.log(makePerson("Jane", 20));