พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์
ใช้ readonly และรูปแบบย่อของพร็อพเพอร์ตีในคอนสตรักเตอร์
พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์ เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
เริ่มต้นใช้งาน
readonly กับพร็อพเพอร์ตีของคลาส
class Invoice {
readonly invoiceId: string;
constructor(id: string) { this.invoiceId = id; }
}
const inv = new Invoice('INV-001');
// inv.invoiceId = 'INV-002'; // Error!readonly ในอินเทอร์เฟซ
interface Point { readonly x: number; readonly y: number; }
const p: Point = { x: 5, y: 10 };
// p.x = 0; // Errorพร็อพเพอร์ตีพารามิเตอร์
class Product {
constructor(
public name: string,
public price: number,
private sku: string
) {} // no need to write this.name = name; etc.
}พร็อพเพอร์ตีพารามิเตอร์แบบ readonly
class Config {
constructor(
public readonly host: string,
public readonly port: number = 3000
) {}
}การเริ่มต้นค่าในการประกาศ
class AppVersion {
readonly version: string = '1.0.0';
readonly buildDate: Date = new Date();
}readonly กับ const
const API_KEY = 'secret'; // block variable
class Service {
readonly key: string = API_KEY; // class property
}ชนิดข้อมูลออบเจ็กต์แบบอ่านอย่างเดียว
interface User { name: string; age: number; }
const frozen: Readonly<User> = { name: 'Alice', age: 30 };
// frozen.name = 'Bob'; // Errorreadonly ไม่ได้ทำให้ข้อมูลถูกตรึงแบบลงลึก
class Team {
readonly members: string[] = [];
}
const t = new Team();
t.members.push('Alice'); // Allowed — the array itself is mutable!
// t.members = []; // Error — can't reassign the propertyพร็อพเพอร์ตีพารามิเตอร์ช่วยลดโค้ดซ้ำซ้อน
// Without parameter properties (verbose)
class A {
private x: number;
constructor(x: number) { this.x = x; }
}
// With parameter properties (concise)
class B {
constructor(private x: number) {}
}เมื่อใดควรหลีกเลี่ยงพร็อพเพอร์ตีพารามิเตอร์
ตรวจสอบอย่างรวดเร็ว
สรุปทบทวน
คำถามที่พบบ่อย
บทเรียน “พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์”
ใช้ readonly และรูปแบบย่อของพร็อพเพอร์ตีในคอนสตรักเตอร์ คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- คลาสและคอนสตรักเตอร์ของ TypeScript
- ตัวปรับแต่ง public, private และ protected
- พร็อพเพอร์ตี readonly และพร็อพเพอร์ตีของพารามิเตอร์
- การใช้อินเทอร์เฟซกับคลาส