Language/TypeScript

Partial Partial은 Type의 모든 속성들을 optional로 만들어 준다. interface bookDetail{ title: string; author: string; page: number } type PBook = Partial; const harryPoter : PBook = { title: "harryPoter", author: "J.K", } /* PBook { title?: string | undefined; author?: string | undefined; page?: number | undefined; } */ Required Required는 Type에서 optional을 제거해 준다. interface books{ name? : string; author? : strin..
Optional optional은 ?로 사용하며 값이 필수가 아니라는 것을 의미한다. interface O { name ?: string; age ?: number; } const alice : O ={}; const cinderella : O = { name : "cin" }; const rapunzel : O = { name: 'rap', age: 20, }; Callback js의 문법들을 ts로 변환 하는 것을 공부하다, forEach의 callbackfn의 타입을 정의하는 부분에서 value, index, array를 모두 입력 하지 않아도 foreach가 동작하여 의문을 가졌다. interface Array{ forEach(callbackfn: (value: T, index: number, a..
제네릭(Generics) 제네릭이란 함수를 정의할때 타입을 정해 주는 것이 아니라, 함수가 동작할때 타입이 정해지도록 하는 것이다. 밑에 코드에서 T가 제네릭 타입으로 함수를 정의할때 T라는 변수로 사용하고 함수가 동작할때에 맞춰서 타입이 정해진다. function re(arg: T):T { return arg; } re('string'); re(123); re(true) 제네릭 선언 위치는 다음과 같다. function a() {} class B() {} interface C {} type D = {}; const e = () => {}; 제네릭 제약조건(Generic Constraints) 제네릭 타입을 사용해서 함수 동작시에 맞춰서 타입이 정해지지만, 원하는 타입만 입력 받고 싶다면, extends..
기본 형태 JavaScript에서 처럼 class를 생성할 때 constructor를 이용해서 생성할 때는 먼저 변수에 대한 타입을 먼저 선언해 주어야 한다. class A { num: number; str: string; constructor(num: number, str: string){ this.num = num; this.str = str; } } new A(10, 'qwe'); 하지만 constructor없이 class를 생성할 수도 있다. class A { num: number = 10; str: string = 'tmp'; } /* JavaScript class A { constructor() { this.num = 10; this.str = 'tmp'; } } */ Private, Prot..
타입 추론(Type Inference) ts는 타입을 직접 지정해 주지 않아도, 타입추론를 이용하여 자동으로 타입을 지정해 준다. 타입추론을 통해서 나온 타입이 내가 원하는 타입과 다르다면 직접 타입을 지정해 주는 것이 바람직하다. 타입은 최대한 좁은 범위로 설정해 주는 것이 좋다. 타입 단언(Type Assertion) let unk2: unknown; const unkBoo = unk2 as boolean let tmp: number = unk2 as number; let tmp2: string = unk2 let tmp3: boolean = unkBoo 타입 단언은 value as type 형태 또는 로 작성되며 작성자가 value의 타입을 무조건 type이다 라고 단언하는 것이다. 타임 단언은 컴..
타입 별칭(Type Alias), interface type name = string; const myName: name = "alice"; interface IName = string; const myNameI: IName = "cinderella"; type과 interface를 통해서 타입에 별칭을 정의할 수 있다. keyof, typeof typeof 는 객체의 데이터를 타입으로 변환 해주는 연산자이다. keyof는 객체 타입을 키 값들만 뽑아내는 연산자이다. const Direction = { Up: 3, Down: 4, Left: 5, Right: 6 } as const const Direction2= { Up: 3, Down: 4, Left: 5, Right: 6 } type dir = ty..
타입 ts는 js에서 변수, 매개변수, 함수 리턴값에 타입을 정해주면 된다. const a: number = 111; const b: string = 'hello'; const c: boolean = true; const d: undefined = undefined; const e: null = null; const f: any = 'any'; // 모든 타입 가능 const g: 10 = 10 // 타입 자리에 받고 싶은 값을 지정 할 수 있다. 다른 값이 올시 에러 const h: never; // never라는 타입은 불가능을 나타내는 타입이다. const arr: string[] = ['aaa', 'bbb']; const arr2: Array = ['aaa', 'bbb']; const arr3: ..
zeroCho님의 타입스크립트 올인원 강의를 수강하고 정리하는 시리즈입니다. TypeScript는 최종적으로 JavaScript로 변환된다. tsc라는 컴파일러가 TypeScript를 JavaScript 코드로 바꿔주는 것과 타입을 검사해 준다. tsconfig.json은 tsc가 ts코드를 js코드로 바꿀때 설정값 들을 지정할 수 있다. ts파일을 실해하는 것이 아니라 변환한 js코드를 실행하게 된다. ts를 사용하기 위해서는 typescript를 install하고 tsc --init을 이요하여 tsconfig.json을 만들어야 한다. ts --noEmit을 하면 ts파일에 타입 오류가 없는지 검사해준다 tsc를 하면 ts파일을 js파일로 변환해 준다.
.d.ts파일은 type을 정의하기 위해서 존재하는 파일이다. 특정 라이브러리가 TS환경에서만 작동한다면 .ts 파일 내에서 타입이나 인터페이스를 선언하면 되겠지만, JS환경에서 사용되는 경우가 있을 수 있기 때문에 이렇게 별도의 파일을 만들어서 타입을 선언하게 된다고 이해했습니다. declare 키워드는 타입스크립트 컴파일러에게 해당 변수나 함수, 또는 타입이 이미 선언되어 있음을 알리는 키워드입니다. https://ssocoit.tistory.com/253 https://okayoon.tistory.com/entry/Typescript-기초-학습-11기초문법9dts파일definitelyTypedintersectioncallapplyts유틸리티데코레이터인프런Zerocho님-강의-학습-의식의-흐름대로-노..
간식타임
'Language/TypeScript' 카테고리의 글 목록