๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JavaScript

ES6 ํ•จ์ˆ˜ ๊ธฐ๋Šฅ

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