사용하지않는공간
[JS] 화살표 함수
반나무
2021. 2. 20. 12:20
function name(param1, param2) { body... return; }
함수는 한가지의 일을 하는거로 하는게 좋음
함수의 이름은 동사로 짓는게 좋음
JS에서 function은 object이기 때문에 변수에 할당하거나 param로 전달도 가능
function printHello(){
colsole.log("Hello");
}
printHello();
1. 디폴트 매개변수
2. Rest 매개변수 ...[args] 배열 형태로 저장된다.
function printAll(...args){
// 1. 기본 for문
for(let i=0; i<args.length; i++){
console.log(args[i]);
}
// 2. of for문
for(const arg of args){
console.log(arg);
}
// 3. foreach문
args.forEach((arg) => console.log(arg));
}
printAll("Hello", "Hi", "안녕");
3. 지역변수
4.
5. Early return, early exit
// 이런건 별로
function upgradeUser(user){
if(user.point > 10){
}
}
// 이게 더 낫다
function upgraderUser(user){
if(user.point <= 10){
return;
}
}
Function expression
// 익명 함수
const print = function () {
console.log("print");
};
콜백 함수 : 함수가 함수를 요청한다 느낌?
function randomQuiz(answer, printYes, printNo){
if(answer === "love u"){
printYes();
} else {
printNo();
}
}
// 익명 함수
const printYes = function () {
console.log("yes");
}
// 네임드 함수
const printNo = function print() {
console.log("no");
}
randomQuiz('love u',printYes, printNo);
화살표 함수(항상 익명 함수)
// 원본
const simplePrint = function () {
console.log("simplePrint");
}
// 화살표 함수
const simplePrint = () => console.log("simplePrint");
// 복잡한건 블록으로 잡아서 처리가능 -> 그러면 return이 필요함
const add = (a,b) => {
return a + b;
}
IIFE : Immediately Invoked Function Expression
함수가 바로 실행됨.
(function hello(){
console.log('IIFE');
})();
반응형