본문 바로가기
728x90
반응형

타입스크립트3

캐스팅 animal 밑에 빨간 줄은 선언만 해놓고 안 쓴다고 빨간줄 뜸 캐스팅은 구체화 / 추상화 개념으로 받아들이는게 편함 animal이 더 넓은 개념임 dog가 더 구체화 됨 업캐스팅 animal = dog 은 가능 다운캐스팅 dog = animal 은 불가능 다운캐스팅은 불가넝 타입스크립트에도 이런 개념이 있음 리터럴 개념은 더 구체화 된 것 타입표를 보면 string / number 밑에 있음 그래서 number 타입은 10이 될 수 있지만(업 캐스팅) 리터럴 (10)타입은 number 불가넝(다운 캐스팅) 참고 https://kindjjee.tistory.com/129 2023. 7. 23.
타입스크립트 제네릭 제네릭 이거 왜 있지? 했던 문법 useState 이외에는 써 본 적이 없다 ㅎㅎ 알아보니 함수에 따라 호출시 타입을 정할 수 있다고 한다 그래서 리액트 라이브러리 타입 찾으러 들어갈 때마다 엄청 많이 보였던 거 같음 멋지게 말하면 함수에 타입이 고정되는 걸 방지하고 재사용할 수 있다 뭔가 데이터 convert 함수에 잘 쓸 수 있을 거 같음 그래서 작성한 예시 1. function test(a:T,b:T){ return a + b; } test("1","2") test(1,2) ⇒ 잉 안 됨 ⇒ 리턴문에서 제네릭은 + 모른다고 에러 뜸 ⇒ + 연산자가 제네릭 타입에서는 지원 안 됨 ⇒ + 연산자는 숫자/문자열을 대상으로 동작하기 때문에 타입스크립트에서도 해당 타입에서만 지원 2. 그럼 t에 타입 정해주.. 2023. 7. 23.
타입스크립트 class / implements 1) 오버라이딩 overrriding 부모 클래스에 정의된 메서드를 자식 클래스에서 새로 구현하는 것 overridden class 오버라이든 : 부모 클래스 overridden method 오버라이든 메서드 : 자식 클래스 class Bird { 오버 라이든 클래스(부모 클래스) // 오버라이든 메서드 flight(km : number | string ){ ...} } class Eagle extends Bird { (자식 클래스) // 오버라이딩 메서드 flight(km : number){ ...} } 재정의(오버라이딩)하기 위한 조건 오버라이든(부모) 메서드 이름 === 오버라이딩(자식) 메서드 이름 && 오버라이든(부모) 타입 ≥ 오버라이딩(자식) 타입 && 오버라이든(부모) 매개변수 개수 ≥ 오.. 2023. 7. 9.
728x90
반응형