zod ?

JavaScript는 타입이 널널한 언어이고 이런 타입 널널한 JavaScript를 보완하고자 태어난 언어가 TypeScript이다. TypeScript는 다른 다양한 언어 중에서도 상당히 복잡한 문법을 갖는 언어이다. 많은 웹 개발자들이 TypeScript를 꺼리는 이유가 바로 이런 복잡함에 있다. 하지만 JavaScript를 사용하면서 JavaScript의 널널한 타입만큼은 좀 어떻게 보완을 할 수 없냐는 갈증을 풀어줄 라이브러리가 zod다.

npm i zod로 딱 설치하고 다음 코드를 고고씽 하면 된다.

import { z } from "zod"

const SexEnum = z.enum(["Man", "Female"])

const User = z.object({
  name: z.string(),
  age: z.number().optional(),
  birthday: z.date(),
  sex: SexEnum.nullable(),
  live: z.boolean(),
  items: z.array(z.string()),
})

const dip2k = User.parse({
  name: "dip2k",
  // age: 18,
  live: true,
  // sex: "Man",
  sex: null,
  birthday: new Date("1999-12-18"),
  items: [ "Hammer", "Key" ],
});

console.log(dip2k);

뭔 말이 필요할까. 코드 자체에 모든 설명이 담겨 있다. Hey~ zod?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다