게시글
질문&답변
Automatic batching에 관해 궁금한 점이 있습니다.
네 맞습니다. 개발자가 따로 신경쓰지 않아도 리액트 내부적으로 최적화가 되어있습니다.
- 0
- 1
- 43
질문&답변
블로그 링크 문제
복구했습니다!
- 1
- 1
- 52
질문&답변
제네릭과 사용자 정의 타입 가드에 관한 질문
안녕하세요.우선 제가 생각한 답안을 보여드리면type SingleValue = Date | null type RangeValue = [SingleValue, SingleValue] type DatePicker = | { type: 'single'; value: SingleValue } | { type: 'range'; value: RangeValue }; class DatePickerKlass { picker: DatePicker; constructor(picker: DatePicker) { this.picker = picker; } updateValue(date: Date) { if (this.picker.type === 'single') { this.picker.value = date; } else if (this.picker.type === 'range') { this.picker.value = [date, null]; } } }작성해주신 답안 보다 좀 더 간단하게 만들 수 있지 않을까 해서 저 같은 경우엔 discriminated union 으로 문제 풀어봤습니다. updateValue(date:Date) { const isSingle = ():this is DatePicker => this.type === 'single' if(isSingle()) { this.value = date return; } }여기서 타입이 좁혀지지 않는 이유는 타입스크립트의 특성인데요. T에 타입을 제한해도 결국 T는 'placeholder'이기 때문에 특정 타입으로 좁혀지지 않습니다. 저도 실무에서 사용하다보면, 생각대로 안되는 게 참 많은데 이럴 땐 "아! 이건 아직 타입스크립트 개발하시는 분이 구현을 안해놨구나..." 라고 생각합니다. 버전이 높아지면 이런 문제도 해결되는 경우가 있거든요.타입스크립트가 다른 statically-typed 언어에 비해 굉장히 자유도가 높은데, 그만큼 아직 구현이 안된 것이 종종 있습니다.
- 1
- 1
- 82
질문&답변
제네릭 타입 제한을 하는것이 어떤 장점이 있을까요 ?
안녕하세요 시원님 😃 올려주신 예시에선 사실 제한하는 이유를 찾기란 쉽지 않습니다. 아래의 예제를 보시면 조금 사용하는 이유를 찾을 수 있지 않을까 생각하는데, obj에서 object의 key들만 접근하고 싶을 때 아래와 같이 코드를 작성할 수 있습니다. function getValue(key: T, obj: Record) { return obj[key]; } const obj = { key1: 1, key2: 2 }; getValue('key1', obj); // 'key1' 타입으로 안전하게 호출 가능 getValue('key3', obj); // 컴파일 에러 (key3는 obj의 키가 아님)Record의 타입 첫번째 인자는 항상 string | symbol | number 가 와야 하는데요. 이 경우에는 string으로 강제하기 위해 T extends string string 타입으로 제한했습니다. 강의를 조금만 더 들어보시면 제네릭 타입 제한하는 문제들이 있으니 한번 풀어보시면 어느 상황에서 사용할 수 있으신지 깨닫게 되실거에요.그래도 만약 이해가 되지 않으신다면 질문 남겨주세요!
- 1
- 1
- 67
질문&답변
행운문제 닉네임 등록 신청합니다!
등록해드렸습니다 :)
- 0
- 2
- 56
질문&답변
행운문제 테스트 유저 이름 입력 요청
등록했습니다!
- 0
- 2
- 63
질문&답변
행운문제 닉네임 입력 요청
추가해드렸습니다 :)
- 1
- 2
- 71
질문&답변
행운문제 테스트 유저 이름 입력 요청
추가했습니다!
- 1
- 2
- 66
질문&답변
설명 블로그에 대한 질문
복구했습니다. 다시 한번 불편을 드려서 죄송합니다
- 2
- 3
- 58
질문&답변
설명 블로그에 대한 질문
안녕하세요 병호님 설명 블로그가 기술적인 문제로 닫혔습니다 😅불편을 드려서 죄송합니다. 주말 중에 고쳐서 다시 오픈하도록 하겠습니다.
- 2
- 3
- 58