Optional parameter에 기본값을 넣는 건 안 되는 걸까요?
Optional paramater 사용시 기본값을 넣으면 오류가 발생하는데요.
예를 들어 아래 코드(오류 발생)에서 foo('hello') 라고 하면 "hello world" 라고 출력되게 하고 싶습니다.
function foo(a: string, b?:string = 'world') {
console.log(`${a} ${b}`);
}
답변 3
2
오... 교수님! 엄청 열심히 들어주셔서 감사합니다..!! ㅋㅋㅋ 되게 좋은 질문 해주셨는데요. 함수의 파라미터에 기본 값을 넣게 되면 해당 함수를 호출할 때 인자가 없으면 기본 값으로 설정됩니다. 위에 첨부해주신 코드를 기준으로 foo('hi'); 를 호출하면 아래와 같이 될거에요 :)
따라서, 옵셔널 파라미터와 파라미터의 기본 값은 함께 설정할 수가 없습니다 :) 옵셔널이라고 설정했는데 무조건 값은 들어가게 되는 논리적 모순이 생겨서요 :) 들으시다가 또 궁금하신거 있으면 말씀해 주세요 교수님! :)
바이러스 조심하시구요~ :)
0
sum(10, 20, 30); // error, too many parameters
주신 핸드북에보면 너무 많은 파라미터라 에러가 난다고 하는데요.
그렇다면 파라미터를 여러개 넣도록 함수를 변경하려면 어떻게 해야하나요?
[REST 문법이 적용된 매개변수] 로 올려주신 방법 말고,
다른 방식이 있을 까요?
function sum(a: number, b?: number, c?:number, d?:number, e?:number, f?:number): number {
return a + b + c + d + e + f;
}
이런식으로 하는건 너무 비효율적인거 같고,
파라미터값에 제한이 생겨버리는 것 같아서요.
파라미터 갯수의 제한도 없고, 효율적으로 짜진 코딩을 알려주시면 감사드리겠습니다!
TSLint
0
66
1
vscode eslint server 오류
0
75
1
안녕하세요. 기본타입- 튜플, 객체, 진위값 부분의 영상의 화면이 나오질 않습니다.
0
77
1
live server 설치 오류
1
368
2
강의 교안 pdf 는 따로 제공하지않나요?
0
284
2
npm i 설치 이유 문의
1
403
3
index.ts Delete `␍`eslintprettier/prettier 오류(빨간줄) 해결
2
289
3
vue 에서 jquery 사용 문제
1
692
2
TSLint 확장 프로그램은 현재 지원하지 않는다고 합니다.
1
499
2
강의 내용처럼 노란 밑줄이 작동하지 않아서 유사 질문들을 실행해보았는데요
1
542
1
section 3-1 JSdoc 타입이 추론되지 않아서 다음과 같이 수정했는데 이거 맞나요?
1
452
2
함수에 리턴 안됐다고 노란밑줄이 쳐져야하는데 없습니다
2
455
1
파일이 다른데 식별자가 중복되었다고 뜹니다.
1
443
2
빨간줄 에러 질문드립니다
1
489
2
마우스 갖다대면 리턴값 설명 나오는 거 질문드려요
1
356
2
js에서 @ts-check 적어도 체크하지 못하는 문제입니다
2
393
2
index.html에서 타입스크립트 콘솔 찍는 법 질문드립니다
1
565
2
섹션 1-3 추론 질문드립니다
1
354
2
왜 api쪽에는 왜 에러가 안나는지 궁금합니다.
1
323
2
const item1을 선언했을 때 타입을 선언해줘도 괜찮을까요?
1
390
1
전화번호부 타입선언
1
265
2
타입을 전역으로 분리
1
592
2
객체 선언 시 구분자는 쉼표, 세미콜론 모두 사용가능한건가요?
1
459
1
Git 관련 질문이 있습니다
1
669
2






