본문 바로가기

TypeScript5

[TypeScript] Class vs Interface vs Type 차이점 정리 JavaScript Class vs TypeScript Class1. 속성 초기화 코드를 생략할 수 있다.TS Class는 생성자의 매개변수 타입 선언과 동시에 접근 제어자(+readonly)만 사용하면 속성 초기화를 할 수 있습니다.이때는 속성이 public이어도 명시해야 합니다.// JSclass User { constructor(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; }}// TS// 컴파일하면 위 JS 코드와 동일합니다.class User { constructor(private firstName: string, private lastName: string) {}} 2. 접근 제한자(a.. 2024. 8. 7.
[TypeScript] Declaration File & JSDoc Declaration FileTypeScript 선언 파일은 주로 JavaScript로 작성된 라이브러리나 모듈을 TypeScript에서 사용할 때 필요합니다.선언 파일은 .d.ts 확장자를 가지며 동일한 이름의 라이브러리나 모듈의 타입을 정의합니다. Visual Studio Code와 같은 통합개발환경(IDE)에서는 선언 파일을 불러와서 보여주기 때문에 바로 타입을 확인할 수 있습니다.TypeScript는 JavaScript 코드도 같이 쓸 수 있도록 허용하지만, 타입 정의가 없다면 사실 TypeScript를 쓰는 의미가 없습니다. 따라서 TypeScript에서 선언 파일은 꼭 필요합니다.tsconfig.json에 "strict": true 를 설정하면 선언 파일이 없는 JavaScript 패키지에 대.. 2024. 8. 7.
[TypeScript] TypeScript 타입 정리 Object변수명: { key1: 타입, key2: 타입, ... }변수 선언문을 확장해 위와 같은 형태로 타입을 명시할 수 있습니다.타입 주석(type annotation)이라고 합니다.예시const player: { name: string; age: number } = { name: "kim",}; Optional변수/프로퍼티명?: 타입물음표를 붙여서 특정 프로퍼티나 함수의 매개변수를 옵셔널로 만들 수 있습니다.예시// 인터페이스 프로퍼티에 적용interface PaintOptions { shape: Shape; xPos?: number; yPos?: number;}// 객체 프로퍼티에 적용const player: { name: string, age?: number } = { name: 'k.. 2024. 8. 7.
[TypeScript] TypeScript 수동으로 설정하기 개요프레임워크를 쓰면 타입스크립트가 설정된 프로젝트를 자동으로 만들어주지만, 간혹 타입스크립트 설정을 건드려야 할 때가 있습니다.그때를 위해 타입스크립트를 수동으로 설정하는 방법을 기록해두기로 했습니다.NodeJS가 설치되어 있다고 가정합니다. 수동 설정 방법1. package.json 생성npm init -y 2. 타입스크립트 설치npm install -D typescript 3. tsconfig.json 생성tsc -init 4. tsconfig.json 작성{ "include": ["src"], // 컴파일 할 파일의 경로 "compilerOptions": { "outDir": "build", // 컴파일 한 파일을 저장할 위치 "target": "ES6", // 자바스크립트 어떤 버.. 2024. 8. 7.
[TypeScript] TypeScript 장점과 특징 TypeScript란?Microsoft에서 개발한 오픈 소스 프로그래밍 언어입니다.JavaScript의 확장으로, JavaScript의 모든 기능을 포함하면서도 정적 타입을 지원하고 있습니다. 왜 TypeScript를 쓰는가?1. 타입 안정성타입 안정성(Type Safety)은 변수나 함수 등이 정의된 타입과 일치하는지 여부를 보장하는 것을 의미합니다.타임 안정성을 통해 얻는 것컴파일 타임 타입 체크 : 컴파일 과정에서 타입 에러를 발견하고 경고나 오류를 통해 개발자에게 알려줍니다.강력한 타입 시스템 : 타입이 명확하게 지정되어야 하고, 타입에 대한 엄격한 규칙을 가집니다.타입 추론 : 타입을 명시적으로 지정하지 않아도 컴파일러가 타입을 추론해줍니다.타입 안정성 덕분에 버그와 런타임 에러를 줄일 수 있고.. 2024. 8. 5.