default-parameter-template-literals-arrow-functions

Default parameter

parameter๊ฐ€ undefined์ผ ๋•Œ ๋“ค์–ด๊ฐˆ default parameter๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ํ•จ์ˆ˜๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

example - default parameter๋กœ ํ•จ์ˆ˜์‚ฌ์šฉ

function getNumber () {
    console.log('getting number..');
    return 666;
}

function logNumber (num = getNumber()) {
    console.log(num);
}

logNumber(1000); //1000

ํ•จ์ˆ˜๋„ ์‚ฌ์šฉ๊ฐ€๋Šฅ ํ•˜๋‹ค. example - ์ธ์ž(argument)๊ฐ€ false, null , undefined ์ผ ๋•Œ

function logNumber (num = 3) {
    console.log(num);
}

logNumber(false); // false
logNumber(null) // null
logNumber(undefined) // 3

Template Literals

``์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•จ์ˆ˜๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.'ใ…'/

Arrow Functions

  • ํ•จ์ˆ˜ํ‘œํ˜„์‹์œผ๋กœ๋งŒ ์จ์•ผํ•œ๋‹ค.

  • hoisting์ด ์•ˆ๋œ๋‹ค. (๋” ์—„๊ฒฉํ•ด์กŒ๋‹ค.)

  • this๊ฐ€ ์—†๋‹ค. ๊ฐ€์žฅ๊ฐ€๊นŒ์šด ์˜์—ญ์— ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ this๋กœ ์“ด๋‹ค.

  • arguments ํ‚ค์›Œ๋“œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.(rest parameter๋กœ ๋Œ€์ฒดํ•œ๋‹ค)

ํ•จ์ˆ˜ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ, ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 1๊ฐœ์ผ๋•Œ๋Š” ()๊ฐ€ ์—†์–ด๋„ ๋˜๋ฉฐ return์ด ํ•œ์ค„๋กœ ํ‘œํ˜„๊ฐ€๋Šฅ ํ•  ๊ฒฝ์šฐ {}๋„ ์—†์–ด๋„ ๋œ๋‹ค.

arguments ํ‚ค์›Œ๋“œ๋Š” ์—†์ง€๋งŒ ์™ธ๋ถ€ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜์„ ์–ธ์‹, ๋‚ด๋ถ€ํ•จ์ˆ˜๋Š” arrow function์„ ์“ธ ๊ฒฝ์šฐ

this

scope chain์„ ํƒ€์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด this๋ฅผ ๋ฐ›์•˜๋‹ค.

const๊ฐ€ window์— ๋ถ™์ง€ ์•Š์•„์„œ console.log๊ฐ€ ์ฐํžˆ์ง€ ์•Š๋Š”๋‹ค.

var๋กœ ํ–ˆ์„ ๋•Œ๋Š” this๊ฐ€ window.name์ด ๋˜์–ด์„œ 'ni'๊ฐ€ ์ฝ˜์†”์— ์ฐํžŒ๋‹ค.

Last updated

Was this helpful?