Typescript

Typescript

Effective Typescript - any를 지양해야하는 이유

any를 지양해야하는 이유 보통 타입스크립트로 코딩을 하다보면 여기저기 오류가 막 발생하여 일단 에러를 없애기 위하여 any를 많이 사용합니다. 하지만 any 를 많이 사용하면 타입스크립트를 사용하는 의미가 퇴색되기때문에 any 만약 사용했다면 나중엔 다 고쳐줘야합니. 어떤 이유에서 any를 지양해야하는지를 오늘은 정리해보겠습니다. 1. any 타입은 안전성이 없습니다. age 변수에 처음 number 를 할당하였지만 any로 다시 타입을 지정한후 1을더해봤습니다. 13이 되길 원했지만 age는 "12" 즉 string타입이기때문에 121로 출력이 되는걸 확인할수있습니다. 타입체커는 처음 age를 number타입으로 판단하여 에러없이 진행할것이고 중간에 any로 다시 타입을 재할당했기때문에 이는 에러를 ..

Typescript

Typescript - implements 란? 그리고 private,protected 에 대해서

Typescript 에서 제공하는 implements 란 class 가 interface 를 충족 하는지에 대해서 검사하는 키워드 입니다. Pingable 이라는 interface 가 정의되어있고 Sonar,Ball 각각 두개의 클래스에 implements 되어있습니다. Sonar 클래스 에서는 ping() 를 제대로 넣어주었기에 에러가 나지않지만 Ball 클래스 는 pong() 라고 넣어주어 에러가 발생합니다. class 는 interface 를 implement 하기위해서 interface에 정의된 타입을 충족해야한다고 했습니다 . 즉 class 의 모양을 interface 로 통제 할 수 있습니다. private 는 자신의 클래스 안에서 사용이 가능하며 상속클래스에서는 사용이 불가능합니다. pro..

Typescript

Typescript - Mapped Types

객체안의 값이 다 string 타입이라고 할때 만약 요소가 3개가아닌 100개라면? 하나하나 다 직접 적어주는건 상당히 고통스러울것이다. 이럴떄 사용하면 좋은게 Mapped Types 이다 . key 와 value 값 모두 타입으로 제한을 해두었다. 여기서 만약 객체요소를 무언가 하나 더 추가해야한다고하면 type B 에만 새로 정의해주면 그 요소도 자동적으로 string 값으로 타입이 정의가 될 것이다. 반복적인 작업을 상당히 줄여주어서 상당히 편리하게 사용 할 수 있을것같다. 타입스크립트 공식문서 Mapped Types - https://www.typescriptlang.org/docs/handbook/2/mapped-types.html

Typescript

Typescript - 타입 좁히기(타입 가드)

타입가드란 매개변수의 타입을 검사하여 타입을 확실하게 하는것. 위 예시를보면 첫번째 if문에서 a가 number 일때만 실행되도록 했기때문에 number 관련 메서드들이 나온다. string 일때도 마찬가지 if문이 아닌 else 를 써도 타입스크립트는 추론을 잘 해준다. 타입스크립트는 타입안의 속성 으로도 타입좁히기 를 할 수 있다. 타입스크립트가 마지막 else 부분은 Robot 이라고 타입추론을 잘 해준 모습이다.

avalanche-
'Typescript' 카테고리의 글 목록 (5 Page)