[자바스크립트] 4. 함수
1. 선언
function hi() {
console.log('hi');
}
hi();
function log(message) {
console.log(message);
}
log('hello');
2. parameters
primitive : 값 전달
objective : 참조 전달
function chnageName(obj) {
obj.name = 'park';
}
const kim = {name : 'kim'};
chnageName(kim);
console.log(kim);
3. Default parameters
mozilla - default parameters
값이 없거나 undefined가 전달될 경우 이름붙은 매개변수를 기본값으로 초기화
function showMessage(message, from='unknown') {
console.log(`${message} by ${from}`);
}
showMessage('Hi!');
4. Rest parameters
mozilla - rest parameters
배열 형태로 전달
function printAll(...args) {
for (let i = 0; i < args.length; i++) {
console.log(args[i]);
}
for (const arg of args) {
console.log(arg);
}
}
printAll('a','b','c');
5. Local scope
밖에서는 안이 보이지 않고 안에서는 밖을 볼 수 있다.
6. return
7. early return
쓸데 없는 로직 방지 : 조건 맞지 않을 시 빨리 return, 필요한 로직은 뒤에 작성
일급 함수
함수를 객체처럼 사용 가능
1. function expression
const print = function() { // 익명 함수
console.log('print');
}
print();
const print2 = print;
print2();
const sum2 = sum;
console.log(sum2(2,3));
2. callback
함수를 파라미터로 전달했을 때 특정 시점에 그 함수를 실행
function randomQuiz(answer, printYes, printNo) {
if (answer === 'love') {
printYes();
} else {
printNo();
}
}
const printYes = function() {
console.log('yes');
}
const printNo = function() {
console.log('no');
}
randomQuiz('love', printYes, printNo);
randomQuiz('live', printYes, printNo);
3. arrow function
const test = () => console.log('test');
const add = (a,b) => a+b;
IIFE
정의와 동시에 실행하는 함수
(function hello() {
console.log('hello');
})();
Author And Source
이 문제에 관하여([자바스크립트] 4. 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gouz7514/자바스크립트-4.-함수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)