프로그래밍 핵심 개념 in JavaScript추상화옵셔널 파라미터

Q

한 함수 안에 옵셔널 파라미터를 두개 이상 넣을 수 있나요?

조회 2062

좋아요 13

2020년 9월 8일




A
2개의 답변이 있어요



2020년 9월 8일

댓글 16

2021년 3월 8일
만약에 say(가족이름, 이름, 나이, 경주시); 이런 식으로 국가는 korea로 하고싶은데 제가 쓴 코드로 하면 경주시가 nation에 할당되서 city는 seoul로 뜨더라구요
2021년 3월 10일
네 순서대로 넣기 때문에 문제가 되는건데, 이런 경우라면 say(가족이름, 이름, 나이, city='경주시')와 같이 호출해주셔야 할 것 같아용
2021년 5월 19일
say(가족이름, 이름, 나이, city='경주시')와 같이 해도 여전히 nation에 경주시가 들어가고 city는 seoul입니다..
2021년 5월 19일
이상하네용. 작성하신 코드 전체를 올려주시면 좋겠습니당
2021년 5월 19일
function introduce(name, nationality = '한국', age = 5) {
console.log(`제 이름은 ${name}입니다.`);
console.log(`국적은 ${nationality}입니다.`);
console.log(`나이는 ${age}살 이고,`);
}

introduce(name='코드잇', age=3);
2021년 5월 19일
이렇게 해도 여전히 age에 5가 들어가고 nationality에 3이 들어갑니다..
2021년 5월 19일
와....... xlmskt11 님 감사합니다.. 지금까지 이 질문이 파이썬 질문인줄 알았어요..ㅠㅠ...... 그래서 답변도 파이썬으로 했었네용. 자바스크립트는 파이썬과 같이 위를 허용하지 않습니당
2021년 5월 21일
그러면 JavaScript는 옵셔널 파라미터가 하나만 가능한 건가요?
2021년 5월 23일
옵셔널 파라미터는 여러개 쓸 수 있지만 위와 같이 호출할 때 파이썬 처럼 적용되진 않습니다. 호출시 introduce(name="코드잇") 이런 형태는 허용되지 않아요
2021년 5월 23일
그렇군요! 답변 감사합니다!
2022년 6월 18일
@랑이 그래서 여러 옵셔널 파라미터를 지정할 수 없다는 말인가요? 위 답변에서 "호출시 introduce(name="코드잇") 이런 형태는 허용되지 않아요" 란 부분이 이해가 잘 안돼서요..
2022년 6월 19일
파이썬 같은 경우엔 introduce(name='코드잇')과 같이 호출하게 되면 해당 name 파라미터에 '코드잇'이 할당됩니다. 하지만 자바스크립트에서는 이렇게 쓰더라도 순서대로 들어갈 뿐이에용.
2022년 6월 19일
즉 함수 정의가 function introduce(name, nationality = '한국', age = 5) 이렇게 되어 있다고 했을 때 introduce('랑이', age=6) 과 같이 호출한다고 하더라도 age 에 6이 들어가는게 아니라 nationality 에 6이 할당됩니다
2022년 6월 19일
그럼 console.log(`${name}, ${nationality}, ${age}`) 와 같이 함수 본문에 쓰여있다면 '랑이, 6, 5' 와 같이 출력될거에용
베스트 댓글
2022년 6월 19일
결론을 말씀드리자면 여러 옵셔널 파라미터를 지정할 수는 있지만 호출 순서대로 파라미터에 값이 할당된다고 이해하시면 좋겠네용
2022년 6월 19일
@랑이 자세한 답변 감사합니다! :)



2023년 9월 11일

댓글 1

2024년 10월 27일
오호 undefined를 이렇게도 사용하는 군요

(주) 코드잇

대표강영훈

개인정보보호책임자강영훈

이메일support@codeit.kr

사업자 번호313-86-00797

통신판매업제 2019-서울중구-1034 호

주소서울특별시 중구 청계천로 100 시그니쳐타워 동관 10층 코드잇