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

ไวยากรณ์โมดูล ES: import และ export

ใช้การส่งออกแบบระบุชื่อและแบบเริ่มต้นในไฟล์ TypeScript

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

ยินดีต้อนรับ

TypeScript รองรับไวยากรณ์โมดูล ES สำหรับจัดระเบียบโค้ดเป็นไฟล์แยกกัน บทเรียนนี้ครอบคลุมการส่งออกแบบระบุชื่อ การส่งออกค่าเริ่มต้น และการนำเข้า

การส่งออกแบบระบุชื่อ

ใช้ `export` เพื่อทำให้การประกาศพร้อมใช้งานในไฟล์อื่น
// math.ts
export function add(a: number, b: number): number { return a + b; }
export const PI = 3.14159;
export interface Config { host: string; }

การนำเข้าแบบระบุชื่อ

นำเข้าการส่งออกแบบระบุชื่อที่ต้องการโดยใช้วงเล็บปีกกา
// app.ts
import { add, PI } from './math';
console.log(add(1, 2)); // 3
console.log(PI);        // 3.14159

การส่งออกค่าเริ่มต้น

โมดูลหนึ่งสามารถมีการส่งออกค่าเริ่มต้นได้หนึ่งรายการ ให้นำเข้าโดยไม่ใช้วงเล็บปีกกาและตั้งชื่อใดก็ได้
// greeter.ts
export default function greet(name: string): string {
  return 'Hello, ' + name;
}

// app.ts
import greet from './greeter';
console.log(greet('Alice'));

นามแฝงของการนำเข้า

ใช้ `as` เพื่อเปลี่ยนชื่อการนำเข้าและหลีกเลี่ยงความขัดแย้งของชื่อ
import { log as consoleLog } from './logger';
import { User as UserModel } from './models';

การนำเข้าเนมสเปซ

นำเข้าการส่งออกทั้งหมดเป็นออบเจ็กต์เนมสเปซ
import * as math from './math';
console.log(math.add(1, 2));
console.log(math.PI);

การส่งออกซ้ำ

ส่งออกซ้ำจากโมดูลอื่นเพื่อสร้างพื้นผิว API สาธารณะ
// index.ts
export { add, PI } from './math';
export { greet } from './greeter';
export * from './utils';

การส่งออกเฉพาะชนิดข้อมูล

ส่งออกชนิดข้อมูลโดยไม่รวมโค้ดขณะทำงานด้วย `export type`
// types.ts
export type { User, Product };
export type UserId = string;

การนำเข้าเฉพาะชนิดข้อมูล

`import type` ช่วยให้แน่ใจว่าจะไม่มีโค้ดขณะทำงานถูกรวมสำหรับการนำเข้านั้น เหมาะสำหรับการนำเข้าอินเทอร์เฟซและนามแฝงชนิดข้อมูล
import type { User } from './models';
// Only the type is imported — no JavaScript
function greet(user: User): string { return user.name; }

การแก้ไขเส้นทางโมดูล

TypeScript แก้ไขการนำเข้าตามการตั้งค่า tsconfig ที่ชื่อ `moduleResolution` แนะนำให้ใช้ `bundler` หรือ `node16` สำหรับโครงการสมัยใหม่

การนำเข้า JSON

เปิดใช้ `resolveJsonModule: true` ใน tsconfig เพื่อนำเข้าไฟล์ JSON พร้อมการอนุมานชนิดข้อมูล
// tsconfig.json: "resolveJsonModule": true
import config from './config.json';
console.log(config.host); // typed based on JSON structure

ตรวจสอบอย่างรวดเร็ว

ไวยากรณ์การนำเข้าใดทำให้แน่ใจว่าการนำเข้านั้นไม่สร้างเอาต์พุต JavaScript หรือเป็นการนำเข้าเฉพาะชนิดข้อมูล

สรุปทบทวน

ใช้การส่งออกและการนำเข้าแบบระบุชื่อสำหรับหลายรายการ ใช้การส่งออกค่าเริ่มต้นสำหรับรายการหลักของโมดูล และใช้ import type สำหรับชนิดข้อมูล การส่งออกซ้ำใน index.ts ช่วยสร้าง API สาธารณะที่เป็นระเบียบ

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

บทเรียน “ไวยากรณ์โมดูล ES: import และ export” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ไวยากรณ์โมดูล ES: import และ export”

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

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

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

บทเรียน “ไวยากรณ์โมดูล ES: import และ export” ใช้เวลานานแค่ไหน

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

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

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

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

  1. ไวยากรณ์โมดูล ES: import และ export
  2. การส่งออกซ้ำและไฟล์รวม
  3. การนำเข้าและส่งออกเฉพาะชนิด
  4. เนมสเปซกับโมดูล: การใช้งานสมัยใหม่
← กลับไปที่ TypeScript Academy