-
3월 18일 TIL : TypeScript 시작Java Script & Type Script/TIL 2023. 3. 21. 12:06728x90
타입스크립트야 반갑다
object타입을 명시적으로 정해주는 방법let a: number[] = [1, 2]; let b: string[] = ["hi"]; let c: boolean[] = [true];
콜론이용, 타입적어주면 됨
그리고 ts가 타입을 추론하게let a = [1,2] let b = ["il","1"] let c = [true]
이렇게해도 됨 이런식으로 더 많이한다고 함.optional types
const player: { name: string; age?: number; } = { name: "nico", };
옵셔널 체이닝처럼 물음표이용가능(선택적 타입)
-> age가 undefined일 수도 있기때문에 ts가 에러처리함. ts는 알아서 에러처리를 알잘딱깔센 잘한다!!!!if (player.age&&player.age<10){}
VS코드에서 이런 에러처리를 함으로서 보호장치역할을 해줌.
너무 좋당
Alias type
타입을 정해주고 재사용할 수 있게 -> 중복되는코드 줄이기 좋음!!!
type Player = { //upper case로 써야함. name: string; age?: number; }; const nico: Player = { name: "nico", }; const Lynn: Player = { name: "Lynn", age: 34, };
이렇게 Player라는 타입을 만들어 name과 age의 자료형을 정해주고 nico와 lynn을 Player로 타입을 지정하면 됨. (age는 ?<-요 옵셔널 타입이기때문에 있어도되고 없어도 된다. )
object 뿐만 아니라 다른 형태에도 이렇게 쓸 수 있다.
type Age = number; type Name = string; type Player = { name: Name; age?: Age; };
함수에도 사용 가능
함수가 return하는 타입이 뭔지 안다? 좋은 자동완성과 보호장치!
function playerMaker(name:string) <- 인수의 타입을 지정하는 방법function playerMaker(name: string) { //인수의 타입은 string만 가능해 return { name, }; } const nico = playerMaker("nico"); nico.age = 12; //현재 이 부분은 에러사인이 난다.
함수를 만들고 playerMaker는 string인 name이라는 요소만 있는 object를 return
function playerMaker(name: string) : Player{ //playerMaker라는 함수가 Player의 형태라고 지정해주면 아래 에러가 사라짐. return { name, }; } const nico = playerMaker("nico"); nico.age = 12;
이렇게하면 이제 ts가 이 nico가 player타입이란걸 알게되어 에러처리하지 않음.
타입 지정하는 법
1. 콜론 뒤에 타입을 써주거나.
let a : boolean
2. 인수에 이름으 쓰고 타입을 쓰거나.
function playerMaker(name: string)
3. 함수 뒤에 타입을 써주거나..
function playerMaker(name: string) : Playerarrow function으로 표현하기
function playerMaker(name: string) : Player{ return { name, }; } //이 함수를 arrow function으로 변경하면 const playerMaker = (name: string): Player => ({ name }); //이렇게 간결해짐.
728x90'Java Script & Type Script > TIL' 카테고리의 다른 글
3월 26일 TIL : ReactQuery 시작하기 (0) 2023.03.26 3월 23일 TIL : TS-Overloading, Polymorphism [타입스크립트야... 내가 명시도안했는데 타입을 유추한거야?] (0) 2023.03.24 3월 21일 TIL : TypeScript-call signature, unknown,void,never (0) 2023.03.23 3월 18일 TIL : context API, props전송없이 state를 공유하는 방법 (0) 2023.03.18 3월18일 TIL : automatic batch (2) 2023.03.18