์๋ฐ์คํฌ๋ฆฝํธ์์ ํจ์๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ ๋ธ๋ก์ค ํ๋๋ก, ์์
์ ์ํํ๊ฑฐ๋ ๊ฐ์ ๊ณ์ฐํ๋ ์ฌ์ฌ์ฉ๊ฐ๋ฅํ ๋ฌธ์ฅ ์งํฉ์
๋๋ค.
ํจ์๋ ์ผ๋ฐ ๊ฐ์ฒด(๋ฐ์ดํฐ ํ์
)๋ก, ์ด์ ํฌ์คํ
์์ ์์ฑํ๋ Object์ ๊ฐ์ ๊ฐ๋
์
๋๋ค.
์๋ฅผ๋ค์ด, ๋ณ์์ ๊ฐ์ ํ๋ฉด์ ์ถ๋ ฅํ ๋ ๋ง์ด ์ฌ์ฉํ๋ console.log๋ console ๊ฐ์ฒด์ ๋ค์ด์๋ log ํจ์์ ๋๋ค.
console.log(console)
/*
์คํ ๊ฒฐ๊ณผ
-----------------------------------
Object [console] {
log: [Function: log],
warn: [Function: warn],
dir: [Function: dir],
time: [Function: time],
timeEnd: [Function: timeEnd],
timeLog: [Function: timeLog],
trace: [Function: trace],
assert: [Function: assert],
clear: [Function: clear],
count: [Function: count],
countReset: [Function: countReset],
group: [Function: group],
groupEnd: [Function: groupEnd],
table: [Function: table],
debug: [Function: debug],
info: [Function: info],
dirxml: [Function: dirxml],
error: [Function: error],
groupCollapsed: [Function: groupCollapsed],
Console: [Function: Console],
profile: [Function: profile],
profileEnd: [Function: profileEnd],
timeStamp: [Function: timeStamp],
context: [Function: context]
}
-----------------------------------
*/
console.log์ ๊ฐ์ ๊ฐ์ฒดํจ์๋ฅผ ๋ง๋ค์ด๋ด ์๋ค.
1. Basic function ๋ง๋ค๊ธฐ
ํจ์๋ฅผ ์์ฑํ ๋๋ ์๋์ ๊ฐ์ ๋ฌธ๋ฒ์ ์ง์ผ์ค์ผํฉ๋๋ค.
์๋ ์์ ๋ Hello World! ๋ฅผ ์ฝ์์ ์ถ๋ ฅํ๋ ๊ฐ๋จํ ํจ์์
๋๋ค.
function ํจ์๋ช (์ธ์๊ฐ) {
์คํ๋ฌธ;
}
function sampleFunc() {
console.log('hello world!');
}
sampleFunc();
// ์ถ๋ ฅ ๊ฒฐ๊ณผ
// hello world!
2. ์ธ์(argument) ๋ฅผ ๋ฐ์ ์ ์๋ function ๋ง๋ค๊ธฐ
์ธ์(argument)๋ ํ๋ผ๋ฉํฐ(parameter)๋ผ๊ณ ๋ ํฉ๋๋ค.
console.log๋ฅผ ์๋ก ๋ค๋ฉด, ์ฌ์ฉํ ๋ ์ถ๋ ฅํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ๋ฃ์ฃ ,
console.log("helloworld") ์ฌ๊ธฐ์์๋ helloworld๊ฐ ์ธ์์
๋๋ค.
์ฐ๋ฆฌ์ ํจ์๋ ์ธ์๋ฅผ ๋ฐ์ ์ ์๊ฒ ํด๋ด ์๋ค.
function sampleFunc(arg1, arg2) {
console.log(arg1, arg2);
}
sampleFunc(1, "hello!");
//์ถ๋ ฅ ๊ฒฐ๊ณผ
//1 hello!
์ฌ๊ธฐ์์ arg1, arg2๊ฐ ์ธ์๊ฐ ๋ฉ๋๋ค.
์ธ์๋, ๋ค์๋งํ์๋ฉด, ์ธ๋ถ์์ ์ฃผ๋ ๋ฐ์ดํฐ๋ฅผ ํจ์ ๋ด๋ถ์์ ์ฌ์ฉํ ์ ์๋๋ก ํด์ฃผ๋ ์
๊ตฌ๊ฐ์ ์ญํ ์ ํฉ๋๋ค.
์, ๊ทธ๋ฐ๋ฐ ์ด์ ๋ฌธ์ ๊ฐ ํ๋ ์์ต๋๋ค.
ํจ์๋ฅผ ํตํด ๋์จ ๊ฒฐ๊ณผ๊ฐ์ด ๋ค๋ฅธ ๋ณ์๋ก ๋ค์ด๊ฐ๋ ค๊ณ ํ ๋, undefined ์ํ, ์ฆ ์๋ฌด๋ฐ ๋ฐ์ดํฐ๊ฐ ์๋ ์ํ๊ฐ ๋ฉ๋๋ค.
function sampleFunc(arg1, arg2) {
console.log(arg1, arg2);
}
const result = sampleFunc(1, "hello!");
console.log("result ๋ณ์์ ๊ฐ: ",result);
// ์คํ ๊ฒฐ๊ณผ
// 1 hello!
// result ๋ณ์์ ๊ฐ: undefined
์ด์ ๋, ํจ์์ return๊ฐ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
console.log๋ ๊ฐ์ ์ฝ์ ํ๋ฉด์ ์ถ๋ ฅํด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. ์ฐ๋ฆฌ์ ํจ์ ์์๋ console.log๊ฐ ์คํ๋๋๋ก ๋์ด์์ผ๋, ๋น์ฐํ ์ฝ์ํ๋ฉด์์๋ ๊ฒฐ๊ณผ๊ฐ ํ์ธ ๋์ง๋ง, return์ด๋ผ๋ ๋ณ์์ ๋ด๊ธด ๊ฐ์ undefined ์ฆ! ์๋ฌด๊ฒ๋ ์๋๊ฒ์ด์ฃ . ๋ค์ ๋จ๊ณ์์ return์ ์ถ๊ฐํด์ค์๋ค.
3. return๊ฐ์ด ์๋ function ๋ง๋ค๊ธฐ
์ด์ ํจ์์์ ์ ์๋ ์คํ๋ฌธ์ด ๋ชจ๋ ๋๋๊ณ , ๊ฒฐ๊ณผ๊ฐ์ ๋๋ ค์ค ์ ์๋๋ก return์ ๋ฃ์ต๋๋ค.
backtick(`)๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ฒ์๋ณด์๋๋ถ์ ์๋ ๋๋ณด๊ธฐ๋ฅผ ํ์ฑํ ํด์ ๋ด์ฉ์ ํ์ธํด์ฃผ์ธ์!
๋ฐฑํฑ(backtick)/๋ฐฑ์ฟผํธ(backquote) ` ๋?
์๋ฐ์คํฌ๋ฆฝํธ์์ `๋ฅผ ์ฌ์ฉํ์ฌ ํํ๋๊ฒ์ ํ
ํ๋ฆฟ ๋ฆฌํฐ๋ด(Template literals) ์ด๋ผ๊ณ ํฉ๋๋ค.
์ค๋ฐ๊ฟ์ ํธํ๊ฒ ํ๊ณ , ๋ฌธ์์ด ๋ด๋ถ์ ์ธ์๊ฐ์ ํธํ๊ฒ ๋ฐ์ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
์๋ ์ถ๋ ฅ๋๋ 1, 2, 3 ๋ชจ๋ ๊ฒฐ๊ณผ๋ ๊ฐ์ต๋๋ค.
ํ์ง๋ง ์ธ์๋ฅผ ํ์ฉํ๋ ํธ์์ฑ์ ๋ณด๋ฉด ํจ์ฌ ํธ๋ฆฌํ์ฃ . ์ค๊ฐ์ค๊ฐ์ + , ์ ๊ฐ์ ๋ฌธ์๋ฅผ ๋ฃ์ง ์์๋ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ด์ฐ๊ธฐ๋ ๊ฐ๋ฅํด์ ์์ฃผ ํธ๋ฆฌํ๊ฒ ์ธ ์ ์์ต๋๋ค!!
function backtickSample(email,num) {
console.log("1. ์ด๋ฉ์ผ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์. *์ด๋ฉ์ผ:", email, "*์ ํ๋ณํธ:",num);
console.log("2. ์ด๋ฉ์ผ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์. *์ด๋ฉ์ผ: " + email + " *์ ํ๋ณํธ: " + num);
console.log(`3. ์ด๋ฉ์ผ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์. *์ด๋ฉ์ผ: ${email} *์ ํ๋ณํธ: ${num}`);
}
backtickSample("test@test.com","010-1123-1112");
// ์ถ๋ ฅ ๊ฒฐ๊ณผ
// 1. ์ด๋ฉ์ผ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์. *์ด๋ฉ์ผ: test@test.com *์ ํ๋ณํธ: 010-1123-1112
// 2. ์ด๋ฉ์ผ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์. *์ด๋ฉ์ผ: test@test.com *์ ํ๋ณํธ: 010-1123-1112
// 3. ์ด๋ฉ์ผ๊ณผ ์ ํ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์. *์ด๋ฉ์ผ: test@test.com *์ ํ๋ณํธ: 010-1123-1112
function sampleFunc(arg1, arg2) {
return `${arg1}, ${arg2}`;
}
const result = sampleFunc(1, "hello!");
console.log("result ๋ณ์์ ๊ฐ: ",result);
// ์ถ๋ ฅ ๊ฒฐ๊ณผ
// result ๋ณ์์ ๊ฐ: 1, hello!
์, ์ด์ result ๋ณ์์๋ ๊ฐ์ด ์ ๋ค์ด๊ฐ๋ค์!
4. ์ฌ์น์ฐ์ฐ function ๋ง๋ค๊ณ ๊ฒฐ๊ณผ ์ถ๋ ฅํ๊ธฐ
console.log์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ ๊ฐ์ฒด ํจ์๋ฅผ ๋ง๋ค์ด๋ด ์๋ค.
const calculator = {
plus: function(a, b) {
return a+b
},
minus: function(a, b) {
return a-b
},
multiply: function(a, b) {
return a*b
},
devide: function(a, b) {
return a/b
}
}
const plusResult = calculator.plus(1,2);
const minusResult = calculator.minus(20,2);
console.log(plusResult);
console.log(minusResult);
// ์ถ๋ ฅ ๊ฒฐ๊ณผ
// 3
// 18
์ด์ console.log์ฒ๋ผ calculator.plus๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค!!!