반응형
자바스크립트에서 함수를 선언하고 정의하는데 다양한 방식이 있다
함수 선언형 vs 함수 표현식
함수 선언형은 호이스팅에 영향을 받지만
함수 표현식은 호이스팅에 영향을 받지 않는다
함수 선언형
printName('예리'); // 제 이름은 예리입니다
function printName(name){
console.log(`제 이름은 ${name}입니다`);
}
함수 표현식
const testFunction = function(){
console.log('안녕하세요');
}
testFunction();
결과 : 안녕하세요
printName('예리');
let printName = function(name){
console.log(`제 이름은 ${name}입니다`);
}
결과: Uncaught ReferenceError: Cannot access 'name' before initialization
화살표 함수 (arrow function) - ES6
function total(a,b){
return a + b;
}
console.log(total(1,3)); // 4
// 위의 코드를 아래와 같이 변경할 수 있다
const total2 = (a,b) => a + b;
console.log(total(3,5)); // 8
Default parameter function - ES6
function sendMessage(message, from = 'unknown'){
console.log(`${message} from ${from}`)
}
sendMessage('hi');
결과 : hi from unknown
Rest parameter function - ES6
function printAll(...args){
for(let i = 0; i < args.length; i++){
console.log(args[i]);
}
}
printAll(1,2,3,4,5);
결과 :
1
2
3
4
5
반응형
'📍 Front-End > 🜸 JavaScript' 카테고리의 다른 글
[JavaScript30/Day-1] Drum Kit (0) | 2021.07.14 |
---|---|
[자바스크립트] 호이스팅이 뭘까 ,, (Hoisting!!!!!!!) (0) | 2021.07.13 |
[자바스크립트] append()와 appendChild()의 차이 (0) | 2021.07.13 |
[자바스크립트] DOMContentLoaded와 load의 차이 (0) | 2021.07.08 |
[자바스크립트] var, let, const 변수 (0) | 2021.06.23 |
댓글