분류 전체보기 (173) 썸네일형 리스트형 #08 TypeScript - Void와 Never 타입 voidvoid는 값이 없음을 의미하는 타입이다.주로 함수가 정상적으로 종료되지만, 반환값이 없을 때 사용된다. 특징- 반환값을 사용하지 않음을 명시- undefined만 암묵적으로 허용- 함수의 반환 타입으로 가장 많이 사용됨function logMessage(message: string): void { console.log(message);} let value: void;value = undefined; // 가능 value = null; // strictNullChecks=true 이면 ❌ - “이 함수는 결과값을 기대하지 않는다”는 의도를 명확히 표현- 사이드 이펙트 중심 함수 표현 Nevernever는 절대 발생하지 않는 값의 타입이다. 즉, 함수가 정상적으로 끝날 수 없는 경우를 의미한.. #07 TypeScript - Any와 Unknown 타입 Anyany는 타입 검사를 완전히 포기하는 타입이다.TypeScript의 타입 시스템을 사실상 비활성화한다.모든 타입의 값을 담을수 있다. 특징- 어떤 타입의 값이든 할당 가능- 어떤 연산, 프로퍼티 접근, 함수 호출도 에러 없이 허용- 컴파일 타임 타입 체크가 이루어지지 않음- 런타임 오류 가능성이 매우 높음 let value: any;value = 10;value = "hello";value = {};value.toUpperCase(); // 컴파일 에러 없음value.foo.bar(); // 컴파일 에러 없음 실제 실행 시 오류가 발생할 수 있으나, 컴파일러는 이를 막지 못한다. Unknownunknown은 타입을 알 수 없음을 명시적으로 표현하는 타입이다.any와 달리, 사용 전에 .. #06 TypeScript - Enum 1. Enum이란Enum(열거형)은 서로 관련 있는 상수 값들의 집합을 하나의 타입으로 정의하기 위한 문법이다.enum Direction { Up, Down, Left, Right}의미 있는 이름으로 상수 집합을 표현할 수 있음숫자 또는 문자열 기반으로 동작함 2. Numeric Enum (숫자 열거형)2.1 기본 동작enum Direction { Up, Down, Left, Right}컴파일 시 내부 값은 다음과 같이 할당된다.Direction.Up === 0Direction.Down === 1Direction.Left === 2Direction.Right === 3 2.2 시작 값 지정enum Status { Ready = 1, Running, Done}Ready =.. #05 TypeScript - 객체 객체TypeScript에서 객체는키(key)와 값(value)의 쌍으로 구성된 구조화된 데이터 타입이다.const user = { id: 1, name: "Kim"};배열과 달리 각 프로퍼티에 의미 있는 이름을 가진다.실무에서 데이터 모델, DTO, 상태 객체 등에 핵심적으로사용된다. 1. 객체 타입 정의 방법1) 인라인 객체 타입let user: { id: number; name: string } = { id: 1, name: "Kim"};간단한 경우에 적합재사용성은 낮음2) type 별칭 사용type User = { id: number; name: string;};let user: User = { id: 1, name: "Kim"};가장 일반적인 방식재사용성과 가독성이 높음3) inte.. #04 TypeScript - 배열과 튜플 튜플튜플(Tuple)은 길이와 각 위치의 타입이 고정된 배열이다.몇 개의 요소를 가지는지 정해져 있고각 인덱스마다 타입이 다르거나 의미가 정해진 경우에 사용한다.let user: [number, string] = [1, "Kim"]; 튜플의 핵심 특징1) 길이가 고정된다.let t: [number, string];t = [1, "Kim"]; // 정상t = [1]; // ❌ 에러t = [1, "Kim", 30]; // ❌ 에러2) 위치별 타입이 고정된다let t: [number, string];t[0] = 10; // 정상t[1] = "Lee"; // 정상t[1] = 10; // ❌ 에러인덱스의 의미가 타입으로 보장됨3) 튜플의 실질적 사용 이유.. #03 TypeScript - 변수(원시타입과 리터럴 타입) 원시타입 (Primitive Types)원시 타입이란 더 이상 분해할 수 없는 가장 기본적인 값의 타입을 의미한다.값 자체가 메모리에 직접 저장되며 (객체의 주소가 저장되지 않는다) 참조(reference)가 아닌 값(value)으로 취급되는 타입이다.즉, "하나의 값 그 자체"를 표현하는 타입이다.TypeScript의 원시 탕타입으로는타입설명number모든 숫자string문자열booleantrue / falsebigint매우 큰 정수symbol고유 식별자null값 없음undefined정의되지 않음void반환값 없음never절대 발생하지 않음literal특정 값만 허용 원시타입의 특징1) 값 자체를 복사한다.원시 타입을 변수에 할당하면 값이 그대로 복사된다.let a = 10;let b = a;b = 2.. #02 TypeScript 설치및 컴파일 옵션 # 노드 패키지 설치npm init# types node 설치npm i @types/node # typescript 컴파일러 설치npm i typescript -g # 타입스크립트 버전확인(설치확인)tsc -v # 타입스크립트 컴파일tsc src/index.ts # 실행node src/index.js # 한방에 타입스크립트를 실행하기npm i ts-node -g # ts-node 로 실행하기 => node 20 버전 이상에서 더이상 작동안함ts-node src/index.ts # tsx 설치(ts-node 대체)npm i -g tsx# 버전tsx -v# 실행tsx src/index.ts 컴파일 옵션 (compilerOptions)1) 초기화tsc --init 2) targettsconfig.json.. #01 TypeScript 학습이유 타입스크립트TypeScript는 JavaScript를 타입관련 기능들을 확장한 언어이다. 생겨난이유Javascript는 초기 탄생시 간단한 웹 조작용으로 개발된 언어이다.자유도가 높고 유연한 문법으로 간편하게 개발하기 좋은 언어이다.노드 js가 생겨나고 어디서든 실행할수 있는환경이 만들어진 javascript는 이제 웹 서버, 모바일 앱, 데스트탑 앱 들을 만들수 있게 되었고 대규모 시스템이나 깊이있게 만들어야하는 어플리케이션에서는 자바스크립트의 자유도와 유연한 문법이 단점이 되었다. 타입 시스템언어에서 사용할수 있는 여러가지 값들을 어떤 기준으로 묶어 타입으로 정할지 결정하고코드의 타입을 언제 검사할지 어떻게 검사할지 타입과 관련된 지켜야할 규칙들을 모아둔 체계언어의 타입과 관련된 문법체계이다. 1. .. 이전 1 2 3 4 ··· 22 다음