inflearn logo
강의

Course

Instructor

Bite-Sized TypeScript

Compatibility of object types

객체 타입의 호환성

Resolved

182

gga01075

21 asked

0

type Book = {
    name : string;
    price : number;
}

type ProgrammingBook = {
    name : string;
    price : number;
    skill : string;   
}

let book: Book;
let programmingBook:ProgrammingBook = {
    name : "한 입 크기로 잘라먹는 리액트",
    price : 33000,
    skill : "reactjs"
};

book = programmingBook;

위의 코드와 같이 ProgrammingBook타입에서 Book타입으로 업 캐스팅이 된다고 하셨는데, programmingBook 변수에다가 Programming타입으로 선언해도 오류가 발생하지않고, 선언하지 않아도 오류가 발생하지 않더라구요. 그럼 복잡한 프로젝트의 경우, 프로퍼티를 늘리는 것을 타입스크립트로 제한할 수 있는 방법이 있을까요??

typescript

Answer 2

1

gga01075

뒤의 섹션을 보니까 const 단언을 사용해서 readonly로 수정 불가능하게 되네유

0

winterlood

안녕하세요 이정환입니다.

넵 as const 단언을 이용하시면 됩니다!

핸드북 light/dark mode 관련 이슈가 있는 것 같습니다.

0

32

1

제네릭 클래스 핸드북 페이지가 undefined라고 나옵니다.

0

33

2

적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>

0

41

2

outDir 옵션 추가 후 컴파일 오류 질문

0

86

1

호출 시그니처 질문

0

72

2

서로소 유니언 타입이 discriminated union과 동의어 인가요?

0

85

2

조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제

0

72

1

할인쿠폰 관련하여

0

170

2

프론트엔드에서의 인터페이스활용

0

103

2

안녕하세요 이정환님!

0

98

1

Node.js 설치에 관한 질문입니다.

0

83

2

함수 타입 호출 시그니처

0

63

1

35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?

0

70

2

인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?

0

122

4

마우스 호버 시 정보

0

100

2

vite으로 리액트 빌드하기를 업데이트해주세요.

1

93

2

타입가드를 만들어 사용하는 이유가 궁금합니다.

0

90

2

섹션 12가 너무 어려운데... 정상이겠죠..?

0

142

2

선생님.. 알고리즘도 강의해주시면안되나요

0

106

2

선생님은 어떻게 이런걸 아세요?

0

137

1

type: module

0

104

2

7:17초 업캐스팅 질문이있습니다!

0

84

1

슈퍼타입질문

1

70

2

프로젝트 설치

0

117

2