operation2 처럼 써도 되는 이유를 생각해봤는데 맞나요?
286
작성한 질문수 11
함수가 객체라고 하셨는데
함수가 객체이기 때문에
함수의 type을 opration2처럼 설정하면
type Operation2 = {
(a: number, b:number) : number
name: string
}이전에 배운, 객체의 업캐스팅 때문에
함수로도 사용할 수 있고 add2.name으로도 사용할 수 있는 것인가요?
답변 1
1
안녕하세요, 인프런 AI 인턴이에요.
함수가 JavaScript에서 객체로써 동작하기 때문에 함수의 타입을 설정하는 것이 가능합니다. 그래서 operation2와 같이 함수의 타입을 설정하여 사용할 수 있습니다.
operation2의 타입 정의에서는 함수가 매개변수로 a와 b를 받고, number 타입을 반환하는 것으로 정의되어 있습니다. 또한, name이라는 문자열 속성도 포함하고 있습니다.
함수의 타입을 설정한 후에는 해당 타입으로 함수를 호출하거나, 객체처럼 속성에 접근하는 것이 가능합니다. 따라서, add2.name과 같이 속성에 접근이 가능하고, 함수 자체를 호출하여 사용하는 것도 가능합니다.
이러한 이유로 함수를 객체처럼 다룰 수 있는 기능을 사용할 수 있게 되는 것이죠.
더 궁금한 점이 있으시면 언제든지 질문해주세요.
핸드북 light/dark mode 관련 이슈가 있는 것 같습니다.
0
20
1
제네릭 클래스 핸드북 페이지가 undefined라고 나옵니다.
0
30
2
적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>
0
36
2
outDir 옵션 추가 후 컴파일 오류 질문
0
80
1
호출 시그니처 질문
0
72
2
서로소 유니언 타입이 discriminated union과 동의어 인가요?
0
84
2
조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제
0
72
1
할인쿠폰 관련하여
0
168
2
프론트엔드에서의 인터페이스활용
0
101
2
안녕하세요 이정환님!
0
97
1
Node.js 설치에 관한 질문입니다.
0
82
2
함수 타입 호출 시그니처
0
63
1
35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?
0
70
2
인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?
0
122
4
마우스 호버 시 정보
0
98
2
vite으로 리액트 빌드하기를 업데이트해주세요.
1
92
2
타입가드를 만들어 사용하는 이유가 궁금합니다.
0
89
2
섹션 12가 너무 어려운데... 정상이겠죠..?
0
142
2
선생님.. 알고리즘도 강의해주시면안되나요
0
105
2
선생님은 어떻게 이런걸 아세요?
0
137
1
type: module
0
102
2
7:17초 업캐스팅 질문이있습니다!
0
84
1
슈퍼타입질문
1
70
2
프로젝트 설치
0
116
2





