0Pricing
TypeScript Academy · บทเรียน

การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น)

ตรวจสอบการตอบกลับ JSON ขณะทำงานด้วยสคีมา zod เพื่อเพิ่มความปลอดภัยนอกเหนือจากชนิดข้อมูลขณะคอมไพล์

การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น) เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 2 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 2 บทเรียน

บทนำ

เป้าหมาย: เพิ่มความปลอดภัยขณะทำงานด้วย zod ชนิดข้อมูลขณะคอมไพล์เพียงอย่างเดียวไม่เพียงพอ จึงต้องใช้สคีมาเพื่อตรวจสอบข้อมูลจริง

ติดตั้ง zod

ติดตั้ง zod ไลบรารีตรวจสอบสคีมาขณะทำงานยอดนิยมสำหรับ TS/JS

npm install zod

การกำหนดสคีมา

สร้างสคีมาด้วย z.object() และใช้ z.infer<typeof Schema> เพื่อสร้างชนิดข้อมูล TS จากสคีมา

import { z } from "zod";

const UserSchema = z.object({
  id: z.number(),
  name: z.string()
});

type User = z.infer<typeof UserSchema>;

Schema.parse()

เรียกใช้ Schema.parse() เพื่อตรวจสอบข้อมูล หาก JSON ไม่ตรงกับสคีมา จะเกิดข้อผิดพลาด

async function getUser() {
  const res = await fetch("/user.json");
  const raw = await res.json();
  const parsed = UserSchema.parse(raw);
  console.log(parsed.id, parsed.name);
}

safeParse

safeParse คืนออบเจ็กต์ที่มีฟิลด์ success และ error ปลอดภัยกว่าการโยนข้อยกเว้น

const result = UserSchema.safeParse(raw);
if (!result.success) {
  console.error(result.error);
} else {
  console.log(result.data);
}

สคีมาซ้อนกัน

สคีมาสามารถซ้อนกันได้ เช่น แถวลำดับ ออบเจ็กต์ และฟิลด์ที่ไม่บังคับ เป็นต้น

const PostSchema = z.object({
  id: z.number(),
  title: z.string(),
  tags: z.array(z.string())
});

const raw = { id: 1, title: "Hello", tags: ["ts", "zod"] };
const post = PostSchema.parse(raw);

การตรวจสอบความถูกต้อง

ตรวจสอบอย่างรวดเร็ว: เหตุใดจึงควรใช้การตรวจสอบด้วย zod หลังจากแยกวิเคราะห์ JSON

สรุปทบทวน

สรุปทบทวน: สคีมาของ zod ตรวจสอบ JSON ขณะทำงาน ใช้ parse หรือ safeParse เพื่อให้มั่นใจในความปลอดภัย

คำถามที่พบบ่อย

บทเรียน “การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 2 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น)”

ตรวจสอบการตอบกลับ JSON ขณะทำงานด้วยสคีมา zod เพื่อเพิ่มความปลอดภัยนอกเหนือจากชนิดข้อมูลขณะคอมไพล์ คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 2 บทเรียน

บทเรียน “การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ชนิดข้อมูล Fetch API และเจเนอริกของ Response.json()
  2. การตรวจสอบขณะทำงานด้วย zod (เบื้องต้น)
← กลับไปที่ TypeScript Academy