Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- synchronus
- es6
- eruda
- async
- Component
- 앱 빌드
- vue
- watchEffect
- mobile dev tools
- const
- 오블완
- hoisting
- await
- watch
- asynchronus
- 티스토리챌린지
- reactivity
- ref
- html 엔티티
- promise
- 템플릿 문법
- dex모드
- let
- drective
- computed
- vitre
- composition api
- composition API
- setup 함수
- tdz
Archives
- Today
- Total
uxtry
es6: Default parameters (기본 매개 변수) 본문

기본 매개변수 (Default Parameters)는 함수에서 매개변수가 전달되지 않았거나 undefined 인 경우, 기본값을 사용할 수 있도록 설정하는 기능입니다. ES6부터 도입된 이 기능은 함수 호출 시 인수를 전달하지 않아도 기본값을 자동으로 할당해 코드의 가독성과 안정성을 높입니다.
1. 기본 매개변수 사용법
기본 매개변수는 함수 선언 시 매개변수에 = 을 이용하여 값을 설정합니다.
function greet(name = "Guest"){
return `Hello, ${name} !`;
}
console.log(greet()); //Hello, Guest!
console.log(greet("Alice")); //Hello, Alice!
위 코드에서 greet() 함수는 name 이 전달되지 않은 경우 "Guest" 를 기본값으로 사용합니다.
2. 기본 매개변수의 동작 원리
기본 매개변수는 매개변수가 undefined 일 때만 적용됩니다. null 이 전달된 경우에는 기본값이 적용되지 않고, null 그대로 함수에 전달됩니다.
function logValue(value = 10 ){
console.log(value);
}
logValue(undefined); //10 (기본값 적용)
logValue(null); //null (기본값 적용되지 않음)
3.표현식을 기본값으로 사용
기본 매개변수는 단순한 값뿐만 아니라, 표현식도 사용할 수 있습니다. 함수 호출 시 계산되는 값을 기본값으로 설정할 수 있습니다.
function multyply(a,b = a*2){
return a * b;
}
console.log(multyply(5)); //25 (5*(5*2))
console.log(multyply(5,3)); //15 (5*3)
4. 기본 매개변수와 다른 매개변수의 관계
기본 매개변수는 앞에 선언된 매개변수를 사용할 수 있습니다. 하지만, 기본 매개변수가 뒤에 위치하는 것이 좋습니다. 이렇게 하면 가독성이 좋아지고 함수 호출 시 어떤 매개변수를 생략할지 명확해집니다
function createUser(name, age = 18, city = "Unknown") {
return { name, age, city };
}
console.log(createUser("Alice")); // { name: "Alice", age: 18, city: "Unknown" }
요약
- 기본 매개변수는 함수에서 인수가 전달되지 않거나 undefined일 때 기본값을 설정할 수 있습니다.
- 표현식이나 다른 매개변수를 기본값으로 사용할 수 있습니다.
- 가독성과 유지보수성을 높여주는 장점이 있어 함수에서 기본값이 필요한 매개변수는 유용하게 사용될 수 있습니다.
'ES6 주요 문법 (es6:)' 카테고리의 다른 글
| es6: Import and export(가져오기 및 내보내기) (0) | 2024.10.29 |
|---|---|
| es6: Array and object destructing(배열 및 객체 비구조화) (0) | 2024.10.29 |
| es6: Template Literals(템플릿 리터럴) (0) | 2024.10.29 |
| es6: Arrow function(화살표 함수) (0) | 2024.10.29 |
| es6: const and let (0) | 2024.10.29 |