함수 생성 방법
익명 함수
이름을 붙이지 않고 함수 생성
- 함수를 호출하면 함수 내부의 코드 덩어리가 모두 실행
let helloWorld = function() {
console.log("Hello, World!");
;
helloWorld(); // 함수 호출
console.log(helloWorld); // 함수 자체를 호출
// Hello, World!
// f () {
// console.log("Hello, World!");
// }선언적 함수
이름을 붙여 함수를 생성
function helloWorld() {
console.log("Hello, World!");
}
helloWorld(); // 함수 호출
console.log(helloWorld); // 함수 자체를 호출
// Hello, World!
// f () {
// console.log("Hello, World!");
// }화살표 함수
하나의 표현식을 리턴하는 함수를 만들 때는 중괄호 생략 가능
let helloWorld = () => {
console.log("Hello, World!");
};
helloWorld();
console.log(helloWorld);
// Hello, World!
// () => {
// console.log("Hello, World!");
// }리턴 없는 함수
function print(message) {
console.log(`${message} 라고 말했습니다`);
}
print("안녕하세요");함수 활용
함수 매개 변수 초기화
- 매개 변수를 입력하지 않고 함수 호출
- 실행하면 undefined 출력
function print(name, count) {
console.log(`${name}이/가 ${count}개 있습니다`)
}
print("사과", 10);
print("사과");- 조건문을 활용한 매개 변수 초기화
function print(name, count) {
if(!count) {
count = 1;
}
console.log(`${name}이/가 ${count}개 있습니다`)
}
print("사과", 10);
print("사과");콜백 함수
- 함수의 매개 변수로 전달되는 함수
function callTenTimes(callback) {
for (let i = 0; i < 10; i++) {
callback();
}
}
callTenTimes(function() {
console.log("함수 호출");
});표준 내장 함수
- 타이머 함수:
let id = setInterval(function() {
console.log("1초마다 호출됩니다.");
}, 1000);
setTimeout(function() {
clearInterval(id);
}, 3000);노트
function foo() {
// 함수 선언 → 세미콜론 X
}
const bar = function() {
// 함수 표현식 → 세미콜론 O
};
const baz = () => {
// 화살표 함수 → 세미콜론 O
};