{}, Object, object 타입에 대한 질문입니다!
{}, Object 타입이 모든 타입을 말하는데
이게 왜 ts 에서 이렇게 개발을 했을까요 ....?
혹시 js 에서 배열도 객체, string도 객체 이런거랑 관련 있을까요 ????
2. object 타입을 지양하라고 말씀해주셨는데 구체적인 그 이유는 무엇인가요 ????
3. 강의 예시에서 // unknown = {} | null | undefined
if (z) {
z; // {} 이다. 왜 ? null, undefined가 떨어져 나가니까.
} else {
z;}
이 부분에서 else 문안에 있는 z는 왜 여전히 unknown 인가요 ??? 위의 if 문 안의 z가 null, undefined이 떨어져 나가는 것처럼 else 문 안의 z도 {} 등(내부 로직을 모르니 ...)도 떨어져 나가야되는게 맞지 않나요 ???
답변 1
1
왜 그렇게 만들어졌는지는 제가 만든 게 아니라서 정확히 알기 어렵습니다. Object는 모든 값의 프로토타입이 객체라서 그렇다고 추측해볼 수는 있겠네요. 설계 미스일 수도 있고요.
object를 쓸 곳이면 애초에 구체적으로 객체를 타이핑하면 됩니다. object만을 넣는 게 의미가 있는 경우가 거의 없습니다.
타입스크립트가 타입 추론이 완벽하지 않아서 그렇습니다. 참고로 else에서 z는 NaN, '', 0같은 다른 falsy 값일 수도 있어서 null | undefined이기에는 부족합니다.
데코레이터가 현재도 자주 쓰이는 문법인가요?
0
81
2
유틸리티 타입 실제로 구현은 못해도 하나씩 외우면 실무할 때 지장 없겠죠?
0
66
1
매핑 타입은 type에서밖에 안된다고 하네요?
0
65
2
자바에서의 오버로딩과 같은 개념이라고 생각해도 되나요?
0
69
2
filter 함수 반환 타입 네로잉 질문
0
74
2
map<U>(callbackfn: ....) 할때 U는 왜 여기 있는거에요??
0
47
2
ts 컴파일을 위한 type 라벨링 부분
0
46
1
concat 함수 타입 구현 중 질문 있습니다!
0
100
2
filter 메소드 질문
0
53
1
forEach 제네릭 관련 문의
0
60
1
타입 추론 시 가장 넓은 범위로 추론이 되는 건가요?
0
165
1
enum이 javascript로 트랜스파일링될때 사라진다하셨는데요
0
207
1
함수 파라미터 타입 정의 시 ...args: any[]와 ...args: any 의 차이
0
223
1
Flat type에서 ReadonlyArray 타입을 사용하는 이유?
0
157
1
bind type 질문
1
149
1
Lowercase type 관련 질문
0
152
1
key-value 타입 자동추론 질문드립니다
0
266
1
타입스크립트 교과서, p131
0
266
1
타입스크립트 교과서 p122 forEach 메서드 질문
0
232
1
타입스크립트 교과서 p116 , 코드에러남
1
269
1
타입스크립트 교과서 p112 , 코드가 안읽힙니다..
0
266
1
타입스크립트 교과서 p83
1
184
1
타입스크립트교과서 p39 쪽 코드가 이해가 안되요
1
227
1
class 에서 ts의 private vs js의 private field( # )
0
339
1





