ค้นหาเว็บไซต์

typescript - ทำไมตัวคอมไพเลอร์ของ Typescript ถึงเปลี่ยน const เป็น var?


ในไฟล์ consts.ts ฉันมี

const s1: string = 'test';

ฉันคอมไพล์มันด้วย tsc consts.ts แล้วจากนั้นใน consts.js มันก็กลายเป็น

var s1 = 'test';

ทำไม?

คำตอบ #1

TypeScript จะคอมไพล์เป็นโค้ด ECMAScript 3 เว้นแต่คุณจะระบุเป็นอย่างอื่น [ลิงก์เอกสาร] และ ECMAScript ไม่ได้แนะนำ const จนกระทั่งเวอร์ชัน 6

คำตอบ #2

ดังนั้นดูเหมือนว่าคุณไม่มีการกำหนดค่า TypeScript สำหรับโครงการของคุณ คุณต้องเรียกใช้งาน

npx tsc --init

และจากนั้นคุณจะสามารถเปลี่ยนค่าปลายทางสำหรับตัวเลือกคอมไพเลอร์ที่นั่นได้

{
  "compilerOptions": {
    "target": "es2017"
  }
}

บทความที่เกี่ยวข้อง