분류 전체보기
9. 타입스크립트(TypeScript) - Class
Class → 파라미터들을 써주기만 하면, TS가 알아서 Constructor 함수를 만들어 준다 class Player = { Constructor( private firstName: string, private lastName: string, public nickname: string ) {} } const a = new Player("hello", "bye", "thisisnickname"); a.firstName; // 이 부분은 작동하지 않는다. 왜냐하면 firstName이 private이기 때문이다. 추상 클래스(Abstract Class) TS와 객체지향 프로그램이 가지고 있는 뛰어난 기능 중 하나는 추상 클래스(Abstract Class)이다 추상 클래스란 다른 곳에서 상속받을 수만 있는 ..
8. 타입스크립트(TypeScript) - Concrete Type & Generic Type
1. Concrete Type → 우리가 전부터 봐왔던 타입을 의미 → number, boolean, string 2. Generic Type → 타입의 Placeholder 같은 것 → Concrete type을 사용하는 대신 쓸 수 있음 → Call Signature를 작성할 때, 들어올 확실한 타입을 모를 때 generic을 사용한다. 즉, TS가 타입을 추론하게 할 수 있다. TS에 generic을 사용하고 싶다고 알려준다 를 사용하여 generic 이름을 붙인다 → 이름은 T 또는 V를 많이 사용한다 타입을 generic 이름으로 바꾼다 type SuperPrint = { (arr: GenericName[]): void // 이름은 마음대로 설정할 수 있다 } type SuperPrint2 = ..
7. 타입스크립트(TypeScript) - Overloading & Polymorphism (다형성)
1. Overloading → 실제로 많은 오버로딩된 함수를 직접 작성하지는 않을 것이다 → 하지만, 다른 사람들이 만든 외부 라이브러리를 사용할텐데 이런 패키지나 라이브러리들은 오버로딩을 많이 사용한다 → 함수가 서로 다른 여러개의 Call Signature를 가지고 있을때 발생시킴 type Add = { (a:number, b:number) : number, (a:number, b:string) : number } const add:Add = (a, b) => { if(typeof b ==="string") return a return a + b } // 이렇게 작성할 수 있지만 별로 좋지 못한 코드 type Config = { path: string, state: object } type Push ..
6. 타입스크립트(TypeScript) - 타입 & Call Signature
1. JS에도 있는 타입 let a : undefined = undefined; let b : null = null; // 두 타입은 JS에도 있다 가끔 우리는 선택적 타입을 사용하는데 선택적 타입은 undefined가 될 수 있다 위에서 사용했던 ? → 특정 타입이거나 undefined거나 1.1. any → TS로부터 빠져나오고 싶을 때 쓰는 타입 → TS에게 바보같은 코딩을 하고 싶다고 허락을 받는다고 생각하면 됨 → any를 사용하면 TS로부터 빠져나와 안전장치가 없는 JS로 들어간다 const a : any[] = [1, 2, 3, 4] const b : any = true a + b // any를 사용했으므로 잘못된 코드이지만 실행된다 2. TS에만 있는 타입 → TS에서 중요한 것은 Type..