728x90
반응형
5. 함수를 결정하는 것
보통 다른 프로그래밍 언어에서는 함수의 시그니처에 매개변수가 포함됩니다. C++에서 f()와 f(int a)는 다른 함수이죠. 하지만 자바스크립트에서는 매개변수가 다르더라도 함수의 이름이 같다면 같은 함수를 가리킵니다.
function foo(x)
{
console.log(`x는 ${x}`);
}
const param = 5;
foo(); //x는 undefined
foo(param); //x는 5
6. 매개변수 해체
자바스크리트 함수의 매개변수는 해체 될 수 있습니다. 그 예는 아래와 같습니다. 프로퍼티 이름은 반드시 유효한 식별자여야 하고 들어오는 객체에 해당하는 프로퍼티가 없는 변수는 undefined를 할당 받습니다.
function getSentence({subject, verb, object}){
console.log(`${subject} ${verb} ${object}.`);
}
const obj = {
subject:"I",
verb: "love",
object:"you"
};
getSentence(obj); //I love you
마찬가지로 배열에 대해서도 해체할 수 있습니다.
function getSentence([subject,verb,object]){
console.log(`${subject} ${verb} ${object}`);
}
const arr = ["I","love","you"];
getSentence(arr); //I love you
7. 확산 연산자
확산연산자를 사용하여 함수를 호출 할 수도 있습니다. 이떄 확산 연산자는 반드시 마지막 매개변수여야 합니다.
function addPrefix(prefix, ...words){
for(let i= 0 ;i< words.length;i++)
{
console.log(`${prefix} ${words[i]}`);
}
}
addPrefix('I love', 'javascript', 'c++');
/*
I love javascript
I love c++
*/
8. 매개변수 기본값
ES6에는 매개변수에 기본값을 지정하는 기능도 추가 되었습니다. 일반적으로 매개변수를 지정하지 않으면 undefined로 할당됩니다.
function add(a , b=5)
{
console.log(`${a} + ${b} = ${a+b}`);
}
add(); //undefined + 5 = NaN
add(1); //1 + 5 = 6
add(1,10); //1 + 10 = 11
728x90
반응형
'개발 > JAVASCRIPT' 카테고리의 다른 글
Javascript ES6 - 함수(function) 정리 4 / 화살표 표기법 (0) | 2020.03.31 |
---|---|
Javascript ES6 - 함수(function) 정리 3 (0) | 2020.03.30 |
Javascript ES6 - 함수(function) 정리 1 (0) | 2020.03.24 |
macOS 10.15 카탈리나에서 npm 패키지 설치시 권한 오류 (0) | 2020.03.22 |
NodeJS, NPM설치 하기 - 자바스크립트(Javascript) , macOS (0) | 2020.03.22 |
댓글