ecmascript 6 - TypeScript เป็นซูเปอร์เซตของ ES6 หรือไม่?
ในอีกคำพูดหนึ่ง ไวยากรณ์ ES6 ทั้งหมดครอบคลุมโดย TypeScript หรือไม่?
คำถามของฉันแตกต่างจากนี้อย่างไร:
- "TypeScript จริง ๆ เป็นซูเปอร์เซ็ตของ JavaScript หรือไม่?"
ES6 ไม่ใช่ (หรือยังไม่ได้ถูกพิจารณา ถ้าคุณอ่านสิ่งนี้ในอนาคต) เป็นเวอร์ชันปัจจุบันของ Javascript - TypeScript แตกต่างจาก ES6 หรือไม่?
มันต่างกัน, ผมรู้อยู่แล้ว นั่นไม่ใช่สิ่งที่ผมถาม
คำตอบ #1
อิงตามสเปคภาษาปัจจุบันที่มีอยู่บนเว็บไซต์:
TypeScript เป็นน้ำตาลสังเคราะห์สำหรับ JavaScript ไวยากรณ์ของ TypeScript เป็นชุดย่อยของไวยากรณ์ Ecmascript 5 (ES5)
และ :
ไวยากรณ์ของ TypeScript รวมถึงฟีเจอร์หลายอย่างที่เสนอของ Ecmascript 6 (ES6) รวมถึงคลาสและโมดูล
คำตอบ #2
TypeScript 1.5 (กุมภาพันธ์ 2015) เป็นเวอร์ชันสุดท้ายที่ไม่ได้อ้างว่ามีความเป็น superset ของ ES6:
ไวยากรณ์ของ TypeScript เป็นชุดย่อยของไวยากรณ์ Ecmascript 5 (ES5)
ตั้งแต่ TypeScript 1.6 (สิงหาคม 2015):
ไวยากรณ์ของ TypeScript เป็นชุดย่อยของไวยากรณ์ ECMAScript 6 (ES6)
ข้อความถูกเปลี่ยนใน TypeScript 1.8 (มกราคม 2016) แต่ความหมายยังคงเหมือนเดิม:
ไวยากรณ์ของ TypeScript เป็นส่วนขยายของไวยากรณ์ ECMAScript 2015 (ES2015)
ดังนั้น ใช่: ตามสเปก TypeScript เป็นซูเปอร์เซ็ตของ ES6