javascript - การตรวจสอบประเภทใน TypeScript
มีวิธีใดบ้างที่จะได้ ชื่อ ของชนิดของผู้เรียกฟังก์ชันใน TypeScript หรือไม่? อีกทางหนึ่งมีวิธีใดบ้างที่จะได้ ชื่อ ของชนิดของวัตถุปัจจุบัน?
อะไรประมาณนี้:
export class SomeData {
sampleFunc() {
console.log(this.getTypeName());
}
//or
anotherFunc(caller: any) {
console.log(caller.getTypeName());
}
}
getTypeName คือฟังก์ชันที่ต้องการที่นี่ ชนิดใน TypeScript จะหายไปหลังจากคอมไพล์ มี typeof (เพื่อเอาอ็อบเจ็กต์นิยามคลาสเอง) แต่ฉันไม่เห็นวิธีที่จะเอา ชื่อ
การใช้งานหนึ่งสำหรับสิ่งนี้อาจเป็นการบันทึกที่สะอาดขึ้นด้วย console.group(name) และ console.groupEnd() - อย่างน้อยในช่วงเวลาการพัฒนา
แก้ไข:
ตามที่ฉันค้นหามา มี Polyfill สำหรับข้อเสนอ Metadata Reflection API "เพื่อเพิ่ม Decorators ให้กับ ES7 พร้อมกับต้นแบบสำหรับ ES7 Reflection API สำหรับ Metadata ของ Decorator" ซึ่งสามารถใช้ร่วมกับ decorators ใน TypeScript ได้
คำตอบ #1
สำหรับวัตถุประสงค์ของฉัน ฉันใช้:
caller.constructor.name
สำหรับข้อมูลเพิ่มเติมคุณสามารถอ่านโพสต์ที่ยอดเยี่ยมนี้ได้: วิธีในการรับคลาสของอ็อบเจ็กต์ JavaScript?
