Search
Duplicate

default value

default value

값을 할당하지 않으면 사전에 정의된 값을 할당하는 것입니다.
default value: 사전에 정의된 값
할당할 값이 없으면 디폴트 값을 할당합니다.
⇒ one에는 10을, two에는 20을 분할 할당합니다.
이때 five에는 할당할 값이 없지만, five = 50이기에 50을 할당합니다.
이것을 default value라 합니다.
const [one, two, five = 50] = [10, 20]; console.log(five);//50
JavaScript
복사
할당할 값이 있으면 디폴트 값을 무시합니다.
⇒ 왼쪽과 오른쪽 모두 값이 3개로 할당 값도 할당받을 변수도 맞기에 five는 50이 아닌 우측에서 70을 할당받습니다.
const [one, two, five = 50] = [10, 20, 70]; console.log(five);//70
JavaScript
복사
Object는 프로퍼티 이름으로 체크합니다.
⇒ 우측의 one값인 10을 좌측의 one프로퍼티 값으로 분할할당합니다. two에는 할당할 값이 없으며 기본값인 20을 할당합니다.
const {one, two = 20} = {one: 10}; console.log(two);
JavaScript
복사
디폴트 값 적용 순서
좌측에서 우측으로 적용합니다.
⇒ 우측의 one값인 10을 좌측의 one프로퍼티 값으로 분할 할당
그 이후 우측two와 five는 값이 없기에 디폴트 값을 할당하는데
two + one + 20에서 one이 10으로 할당되어 10+20이되어 30이되고, 그 다음 five도 같은 방법으로 30 + 50이 되어 80이 디폴트 값으로 할당됩니다.
const [one, two = one + 20, five = two + 50] = [10]; console.log(two);30 console.log(five);//80
JavaScript
복사

default value

함수의 파라미터에 디폴트 값 적용
넘겨받은 파라미터 값이 없으면 디폴트 값을 할당합니다.
⇒ add를 호출하는 시점에서 10만 넘겨주기에 ten에는 10이 할당되지만 two는 할당된 값이 없기에 undefined가 할당되야하나 기본값이 20이 있어 20이 할당됩니다.
const add = (ten, two = 20) => ten + two; const result = add(10); console.log(result);
JavaScript
복사
넘겨받은 파라미터 값이 있으면 디폴트 값을 무시합니다.
⇒ add(10, 50)으로 두 번쨰 파라미터도 작성을 해주게 되면 호출받은 함수의 파라미터부분에서도 디폴트 값을 적용하지 않습니다.
const add = (ten, two = 20) => ten + two; const result = add(10, 50); console.log(result);
JavaScript
복사
호출한 함수의 파라미터 값이 undefined일 때
⇒ add(10, undefined)에서 두 번째 파라미터 값이 undefined이지만 파라미터 값을 넘겨주지 않은 것과 같습니다.
point()함수를 호출해 반환된 값(20)을 디폴트 값으로 사용합니다.
const point = () => 20; const add ( one, two = point()) => one + two); const result = add(10, undefined); console.log(result);//
JavaScript
복사