อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้
ใช้ ReadonlyArray เพื่อป้องกันการแก้ไขโดยไม่ตั้งใจ
อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้ เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับ
ตัวปรับ readonly สำหรับอาร์เรย์
const ids: readonly number[] = [1, 2, 3];
// ids.push(4); // Error
// ids[0] = 99; // Error
console.log(ids[0]); // OK — reading is fineรูปแบบทั่วไป ReadonlyArray<T>
const names: ReadonlyArray<string> = ['Alice', 'Bob'];
// names.push('Charlie'); // Errorการคืนอาร์เรย์แบบอ่านอย่างเดียวจากฟังก์ชัน
function getConfig(): readonly string[] {
return ['host', 'port', 'db'];
}พารามิเตอร์ฟังก์ชันที่ไม่เปลี่ยนแปลง
function sum(nums: readonly number[]): number {
return nums.reduce((a, b) => a + b, 0);
// nums.push(99); // Error inside function
}as const สำหรับอาร์เรย์ลิเทอรัล
const colors = ['red', 'green', 'blue'] as const;
// type: readonly ['red', 'green', 'blue']
// colors.push('yellow'); // Errorreadonly ไม่ได้แช่แข็งข้อมูลในระดับลึก
const users: readonly { name: string }[] = [{ name: 'Alice' }];
// users.push({}); // Error
users[0].name = 'Bob'; // Allowed — object itself is mutableความไม่เปลี่ยนแปลงในระดับลึกด้วย Readonly<T>
type ImmutableUser = Readonly<{ name: string; scores: readonly number[] }>;
const u: ImmutableUser = { name: 'Alice', scores: [90, 85] };
// u.name = 'Bob'; // Error
// u.scores.push(100); // Errorการกำหนดระหว่างอาร์เรย์ที่เปลี่ยนแปลงได้กับอาร์เรย์แบบอ่านอย่างเดียว
const ro: readonly number[] = [1, 2];
const mutable: number[] = ro; // Error!เมื่อใดควรใช้อาร์เรย์แบบอ่านอย่างเดียว
การกระจายจะสร้างอาร์เรย์ใหม่ที่เปลี่ยนแปลงได้
const base: readonly number[] = [1, 2, 3];
const extended: number[] = [...base, 4]; // new mutable arrayตรวจสอบอย่างรวดเร็ว
สรุปทบทวน
คำถามที่พบบ่อย
บทเรียน “อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้”
ใช้ ReadonlyArray เพื่อป้องกันการแก้ไขโดยไม่ตั้งใจ คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- อาร์เรย์แบบมีชนิดข้อมูล: T[] และ Array
- อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้
- ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่
- Enum: ค่าคงที่ตัวเลขและข้อความ