- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- css
- til
- await
- jsonwebtoken
- clipBehavior
- RDS
- certbot
- moment
- EC2
- Nodejs
- AWS
- https
- mongoose
- findByIdAndDelete
- nginx
- flutter
- mongodb
- TailwindCSS
- single quote
- double quote
- wil
- MYSQL
- Node.js
- Find
- Express
- JavaScript
- async
- atlas
- TypeScript
- sequelize
목록TypeScript (7)
기억 휘발 방지소
TypeScript의 리터럴 타입은 string, number 두 가지가 있다. 이를 사용하면 문자열이나 숫자에 정확한 값을 지정할 수 있다고 한다. ✔️ 문자열 리터럴 타입 (String Literal Types) 아래 코드에서 Food에서 허용한 3개의 문자열 외에 다른 문자열을 사용하게 되면 에러가 발생한다. type Food = "rice" | "noodle" | "meat"; const myFood1: Food = "rice"; const myFood2: Food = "aaa"; // Error: Type 'aaa' is not assignable to type 'Food'. ✔️ 숫자형 리터럴 타입 (Numeric Literal Types) 숫자형도 마찬가지로 허용한 숫자 외에 다른 숫자를 사..
TypeScript에서 함수는 아래 코드처럼 사용하면 된다. 매개변수를 적고 매개변수의 타입과 반환값이 있다면 반환값의 타입을 적고 없으면 void function add(n1: number, n2: number): number { return n1 + n2; } function sayHello(name: string): void { console.log(`Hello ${name}!`); } 인터페이스처럼 함수의 파라미터도 옵셔널로 만들 수 있다. 옵셔널 파라미터라고 한다. function greeting(name?: string): void { console.log(`Hello ${name || "world"}!`); } 파라미터가 여러개 있을 때도 마찬가지이다. 옵셔널 파라미터를 두 번째 자리부터 넣..
인터페이스(Interface)는 타입 체크를 위해 변수, 함수, 클래스에 사용할 수 있다. ES6에서는 지원하지 않고 TypeScript에서는 지원한다. ✔️ 인터페이스 interface User { name: string; age: number; } let user: User = { name: "Kim", age: 20, }; ✔️ 함수에서 인터페이스 사용하기 interface Add { (n1: number, n2: number): number; } const addFunction: Add = function (a, b) { return a + b; }; console.log(addFunction(1, 2)); // 3 ✔️ 클래스와 인터페이스 interface Car { name: string; c..
타입스크립트에서 ':'을 이용해 타입을 정의하는 방식을 타입 표기(Type Annotation)이라고 한다. ✔️ String let name: string = "Kim"; ✔️ Number let age: number = 20; ✔️ Boolean let isAdult: boolean = true; ✔️ Array string let month: string[] = ["January", "February", "March"]; let month: Array = ["January", "February", "March"]; number let nums: number[] = [1, 2, 3]; let nums: Array = [1, 2, 3]; ✔️ Tuple 배열과 모양이 비슷하다. 길이가 고정되어 있고 인..
AWS RDS 인스턴스 생성도 해봤으니까 Node.js와 연결을 해보자 프레임워크는 Express, ORM은 Prisma를 사용했고 모든 코드는 TypeScript로 작성했다. Prisma를 사용하기 위해서는 먼저 @prisma/client를 설치해야한다. 아래 명령어로 설치하면 된다. npm install @prisma/client 그리고 Prisma 프로젝트를 생성한다. npx prisma init prisma라는 폴더 안에 schema.prisma라는 파일이 자동으로 생성된다. 이 파일은 스키마를 정의하기 위한 초기파일이다. // prisma/schema.prisma generator client { provider = "prisma-client-js" } datasource db { provide..
설치한 라이브러리들은 다음과 같다 express typescript @types/express: Express 모듈에 대한 type을 지원 @types/node: Node.js 타입을 추가 nodemon 먼저 간단한 예시 코드를 만들었다. // app.ts import express from "express"; const app = express(); app.listen(4000, () => { console.log("✅ Server listening on 4000"); }); 에러처리를 위한 미들웨어를 만드는데 JavaScript로 했을 때와 좀 다른게 매개변수의 타입을 다 적어줘야했다. express.Request, express.Response, express.NextFunction을 넣어줘도 되고..