Trip to TypeScript(4)
-
[하루만에 정복해보는 TS] TS와 Class
TS는 JS Class를 객체 지향형 프로그램 언어처럼 만들어준다. 기존 JS에서는 쓸 수 없었던 접근 제한자 private, public, protected 등을 사용할 수 있게 해준다. 몰론 위 접근 제한자는 실제 js 코드에서는 사라지지만 말이다. public은 기본값으로 제한이 없으며 private 자기 자신의 클래스 안에서만 사용 가능하다. 마지막으로 protected는 자기 자신 클래스와 상속된 클래스까지 접근이 가능하다. class User { constructor( private firstName:string, private lastName:string, public nickname: string ) } 다음으로 abstract, 즉 추상 클래스에 대해 알아야한다. 추상이라는 말은 언제 어..
2023.06.29 -
[하루만에 정복해보는 TS] type 설정해보기
이번에 type을 정의하는 방식에 대해 이야기보려고한다. const PlayerChoi : { name:string, age?:number } = { name: "choi", age: 25 } const PlayerInnbo : { name:string, age?:number } = { name: "innbo", age: 31 } 이렇게 오브젝트에 대한 타입 정의하였다고 가정하자. 하지만, 일일히 오브젝트 타입은 비효율적이기에 아래와 같이 타입을 선언하여 정리해줄 수 있다. type Player = { name: string, age?: age } const PlayerChoi: Player = { name: choi, age: 25 } 타입 안에 이미 선언한 타입을 넣어주는 것도 가능하다. type A..
2023.06.18 -
[하루만에 정복해보는 TS] Implicit Type & Explict Type
타입스크립트를 오늘 공부할 생각을 없었지만 클래스를 공부하면서 자꾸 타스가 생각이 났다. 타스를 공부했을 때 클래스를 예시로 들었었는데 클래스를 잘 이해하지 못하다보니 타스, 특히 타스의 문법적인 사용방식이 와닿지 않았다. 그렇다보니 강의를 보고 또 봐도 정복했다는 느낌을 받을 수 없었는데 오늘 하루 시간을 내어 타스를 정리해보기로 한다. 강의 없이 이해한 내용을 정리 도전! 기본적으로 타입스크립트는 선언된 변수들의 타입을 암묵적으로 추론하고 변수의 타입을 확정짓는다. const apple = "fruit"; const count = 1; const group = []; 예시와 같이 변수에 값을 넣어주면서 타입스크립트는 값의 타입을 암묵적으로 이해하고 그 값의 타입을 고정시키려고 한다. 물론 apple에..
2023.06.18 -
[하루만에 정복해보는 TS] Call signature와 Overloading 그리고 최종보스 Generic
사실 지금부터가 본격적인 내용이다. Call signature은 바로 아래와 같이 type을 알려주는 팝업 창이다. 참고로 void는 아무것도 return하지 않는다는 것이다. 실제로 함수에서 return이 사용되지 않은 모습이다. 이런 콜스택이 여러개 있을 때 Overloading 이라고 한다. 딱히 내용은 없지만 알고는 있어야한다. type SuperPrint = { (arr: number[]): void (arr:boolean[]): void (arr: string[]): void } const superPrint: SuperPrint = (arr) => { arr.forEach(i => console.log(i)) } superPrint([1, 2, 3, 4]) superPrint([true, f..
2023.05.31