ES6์ ํจ์
JavaScript ES6์ ํจ์ ๊ธฐ๋ฅ๊ณผ ์ถ๊ฐ๋ ๊ฒ์ ๊ฐ๋จํ๊ฒ ์์๋ณธ๋ค.
ํ์ ์ ์ธ์ด ์ง์ x
Function log(message){
console.log(message);
}
์์ ๊ฐ์ด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ํจ์๋ฅผ ๋ง๋ ๋ค๊ณ ํ์.
์๋ฐ์คํฌ๋ฆฝํธ๋ ํจ์๋ฅผ ์ ์ธํ ๋ ์ธ์์ ํ์
์ ์ธ์ด ์ง์๋์ง ์๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก, ์์ message
๋ผ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ง๋ค ๋ ํจ์์ ์ธํฐํ์ด์ค๋ง ๋ด์ ๊ฐ๋ฐ์๊ฐ ์ด๋ค ํ์
์ ์ํ๊ณ ์ ์ธํ๋์ง ์ ์ ์๋ค.
์ด๋ฌํ ํ์
์ ์ธ์ ํ์
์คํฌ๋ฆฝํธ๋ก ๋์ด๊ฐ์ผ ์ง์๋๋ค.
Default Parameters
ES6๋ก ๋์ด์ค๋ฉฐ ํ๋ผ๋ฏธํฐ์ ์ด๊น๊ฐ์ ์ค ์ ์๋ Default Parameters๊ฐ ์ถ๊ฐ๋์๋ค.
Function testFunc(param1, param2){
console.log(`${param1} ${param2}`);
}
์์ฒ๋ผ ๋ ๊ฐ์ ์ธ์๋ฅผ ์ถ๋ ฅํ๋ ํจ์๊ฐ ์์ ๋, ํ๋ผ๋ฏธํฐ์ ๊ฐ์ด ์๋ค๋ฉด ์กฐ๊ฑด๋ฌธ ๋ฑ์ ๊ฑธ์ด์ ๋ฐ๋ก ์ฒ๋ฆฌํด ์คฌ์ด์ผ ํ๋ค.
ํ์ง๋ง ๋ํดํธ ํ๋ผ๋ฏธํฐ์ค์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ด๊น๊ฐ์ ๋ฏธ๋ฆฌ ์ ์ธํ ์ ์๋ค.
Function testFunc(param1, param2 = "Default Setting"){
console.log(`${param1} ${param2}`);
}
์์ฒ๋ผ ์ ์ธํด ์ฃผ๋ฉด, param2
์ ๊ฐ์ด ๋ค์ด์ค์ง ์๋๋ค๋ฉด ๋ํดํธ ๊ฐ์ด ๋ค์ด๊ฐ๊ฒ ๋๋ค.
Rest Parameters
Rest Parameters
์ญ์ ES6์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ด๋ค.
ํจ์์ ์ธ์๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋ฐ๊ณ ์ถ์ ๋, ... ์ธ์ ์ด๋ฆ
์ผ๋ก ์ ์ธํ๋ฉด ๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ ๋ฐ์ ์ ์๋ค.
Function printAll(โฆargs){
for(const arg of args){
console.log(arg);
}
}
์ ์๊ณผ ๊ฐ์ด ... args
๋ก ๋ฐ๊ฒ ๋๋ค๋ฉด, args๋ก ์ฌ๋ฌ ๊ฐ์ ์ธ์๋ฅผ ๋ฐ์ ์ ์๊ณ , for ๋ฌธ์ ํตํด ์ํํ ์ ์๋ค.
Arrow Function
๊ธฐ์กด์ ํจ์ ์ ์ธ์ ๋ํ ์ฝ๋ ์์ ์ค์ฌ์ฃผ๋ Arrow Function์ด ์๋ค.
Function testFunc(param1, param2){
console.log(`${param1} ${param2}`);
}
์์์ ์์๋ก ๋ค์๋ ํจ์๋ฅผ Arrow Function์ผ๋ก ์์ ํ์.
Const testFunc = (param1, param2) => console.log(`${param1} ${param2}`);
์์ ๊ฐ์ ํ์์ผ๋ก ์ฝ๋ ์์ ์ค์ฌ์ ํํํ ์ ์๋ค.
ํจ์ ์์ ์ฌ๋ฌ ์ค์ ๋ด์ฉ์ด ๋ธ๋ก ์์ ๋ค์ด๊ฐ ์๋ค๋ฉด return ํ์๊ฐ ํ์ํ๋ค.
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
$(document).ready ์ฌ์ฉ (0) | 2022.03.13 |
---|---|
var, let, const (0) | 2022.03.12 |
ajax๋ก Post ์์ฒญํ๊ธฐ (0) | 2022.03.10 |
์๋ฐ์คํฌ๋ฆฝํธ ์๋ฃ๊ตฌ์กฐ (0) | 2022.03.08 |
SetTimeout๊ณผ ๋น๋๊ธฐ (0) | 2022.03.07 |