[Typescript] Typescript에서 class가 다중상속을 지원하지 않는 이유 (다이아몬드 문제)
·
Programming/Typescript
만약 Typescript에서 class로 다중상속을 하려고 하면 에러가 발생한다. 예시를 통해서 확인해보자 아래와 같은 코드가 있다고 가정한다. class Test1 extends TestProblem { test() {} } class Test2 extends TestProblem { test() {} } // Error class Diamond extends Test1, Test2 {} 이렇게 2개 이상의 클래스를 상속받으려고 하면 에러가 난다. 다이아몬드 문제 왜 Typescript에서는 class의 다중상속을 막아두었을까? 조금 더 자세한 설명을 위해 다른 코드를 예시로 들어보자. class TestProblem { test(logString: string = 'TestProblem') { con..
[Typescript] typescript에서 type과 interface의 속성을 재정의하는 방법 (typescript Overriding)
·
Programming/Typescript
이 글에서는 typescript 환경에서 type또는 interface를 그대로 가져오며 타입 재정의가 필요한 속성을 재정의 하는 방법을 다룬다. type의 경우 예를 들어 아래와 같은 Test1 타입이 있다고 가정한다. type Test1 = { test1: string, test2: string, test3: number, }; const test1: Test1 = {test1: 'test1', test2: 'test2', test3: 3}; 이 때 Test1의 속성인 test3를 string 바꾼 새로운 타입이 필요하다고 가정한다. 그럴 때 아래와 같은 코드를 적용하면 된다. type Test2 = Omit & { test3: string }; const test2: Test2 = {test1: '..
얼은펭귄
'Interface' 태그의 글 목록