การควบคุมประเภทของค่าของออบเจ็กต์ใน TypeScript

ในขณะที่ประกาศออบเจ็กต์ TypeScript จะจดจำประเภทข้อมูลขององค์ประกอบทั้งหมดของมัน และจากนั้นก็ควบคุมไม่ให้ประเภทเหล่านั้น เปลี่ยนแปลง

ลองดูตัวอย่างจากออบเจ็กต์ user ของเรา ประกาศมัน:

typescriptlet user = {name: 'john', age: 30};

หลังจากประกาศ TypeScript ได้วิเคราะห์ ประเภทข้อมูลของแต่ละค่าและจดจำ ว่าในฟิลด์ 'name' นั้นเป็นสตริง และใน ฟิลด์ 'age' นั้นเป็นตัวเลข

ตอนนี้ความพยายามที่จะเขียนค่า ประเภทอื่นลงในฟิลด์จะสิ้นสุดลงด้วยข้อผิดพลาด

ตัวอย่าง:

typescriptuser.name = 123; // ข้อผิดพลาด

ตัวอย่าง:

typescriptuser.age = 'eee'; // ข้อผิดพลาด

ตัวอย่าง:

typescriptuser.age = '30'; // ข้อผิดพลาด
Задание 1

โดยไม่ต้องรันโค้ด จงพิจารณาว่า ผลลัพธ์ของการทำงานโค้ดจะเป็นอย่างไร:

typescriptlet date = {year: 2025, month: 12, day: 31};
date.month = '12';

console.log(date);
Задание 2

โดยไม่ต้องรันโค้ด จงพิจารณาว่า ผลลัพธ์ของการทำงานโค้ดจะเป็นอย่างไร:

typescriptlet product = {code: '123', name: 'apple', price: 12};
product.code = 123;

console.log(product);
Задание 3

โดยไม่ต้องรันโค้ด จงพิจารณาว่า ผลลัพธ์ของการทำงานโค้ดจะเป็นอย่างไร:

typescriptlet product = {code: '123', name: 'apple', price: 12 };
product.price = 123;

console.log(product);
Задание 4

โดยไม่ต้องรันโค้ด จงพิจารณาว่า ผลลัพธ์ของการทำงานโค้ดจะเป็นอย่างไร:

typescriptlet user = {name: 'john', admin: true};
user.admin = 'false';

console.log(user);