Trả lời
Đó có thể phụ thuộc bạn đang sử dụng phiên bản trình biên dịch CoffeeScript nào. Trong bản phát hành ổn định mới nhất (1.3.3), thuộc tính "tên" không được tạo theo mặc định.
class Foo
biên dịch vào
var Foo;
Foo = (function() {
function Foo() {}
return Foo;
})();
Kể từ khi name
tài sản là phi tiêu chuẩn và hiện không được hỗ trợ bởi các trình duyệt IE, bạn có thể không thực sự dựa vào nó qua trình duyệt. Thông tin chi tiết về vấn đề này có sẵn tại MDN: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/Name
Bạn có gợi ý rằng phiên bản sau hoặc cũ hơn sẽ tạo ra một thuộc tính tên không? Ngoài ra, có một số cờ sẽ ghi đè lên mặc định này hoặc bạn có phải tự thêm thuộc tính hay không. –
Tôi nghĩ rằng nó đã thực sự được gỡ bỏ, vì vậy trong các phiên bản cũ, bạn vẫn có thể tìm thấy hành vi này, vâng. – Niko
Từ bên trong bất kỳ phương pháp của lớp Foo
được bao gồm trong Foo.prototype
, bạn có thể chèn dòng
console.log @constructor.name
và nó sẽ viết
Foo
vào nhật ký bảng điều khiển của bạn. HTH.
Hiện tại đã rõ ràng (xem kết thúc https://github.com/jashkenas/coffee-script/issues/2052) rằng nó không được hỗ trợ. Đi và yêu cầu nó nếu bạn muốn nó quá! –
- 1. Phạm vi trong các lớp học coffeescript
- 2. Xuất một lớp học từ một tệp Coffeescript
- 3. Lấy tên lớp học từ một mô-đun
- 4. Lấy tên lớp học từ lớp mở rộng
- 5. Nhận tên đầy đủ của một lớp học?
- 6. Các lớp học và phạm vi Coffeescript và mũi tên béo và mỏng
- 7. Học thuyết 2 nhận tên lớp thực của lớp proxy
- 8. Lấy tên của một phân lớp từ trong một siêu lớp
- 9. lấy tên tệp của lớp mở rộng
- 10. Proguard giữ tên lớp học?
- 11. VB.NET: Lấy tên lớp của một cá thể
- 12. Lấy tên của lớp từ một cá thể
- 13. Lấy phần tử cuối cùng của một mảng trong CoffeeScript
- 14. Python: Lấy tên của lớp instantiating?
- 15. Coffeescript: Tham khảo phương pháp lớp học từ phương pháp dụ mà không hardcoding
- 16. Là một lớp học địa phương trong một phương pháp của một lớp học một người bạn của lớp này?
- 17. Cách lấy tên của lớp Mootools từ trong số
- 18. Chạy một lớp CoffeeScript trên document.ready
- 19. Lấy tên lớp từ đối tượng Lớp
- 20. Cách lấy loại lớp theo tên lớp?
- 21. Làm thế nào để có được tên của một tài sản lớp học?
- 22. CoffeeScript Lớp viên
- 23. Tên lớp học định nghĩa <>
- 24. Lấy tên của một lớp con trong lớp cha mẹ (ngữ cảnh tĩnh)
- 25. Lấy tên của tất cả các lớp Java được khai báo trong một gói
- 26. Gọi phương thức lớp học qua tên lớp và tự
- 27. Không gian tên và lớp học có cùng tên?
- 28. Lấy mô hình/tên lớp của mô hình Backbone
- 29. Cách lấy tên của lớp gọi điện thoại (bằng PHP)
- 30. Cocos2d CCSprite Lớp lấy tên của tập tin hình ảnh
Mã rút gọn WRT - nó thực sự phụ thuộc vào bộ khai thác và cấu hình bạn chuyển đến. Hầu hết có thể được cấu hình không chạm vào các câu lệnh chức năng được đặt tên (như '--no-mangle-functions' của UglifyJS), vì vậy thuộc tính' name' sẽ hoạt động tốt ở đó (trừ khi trình duyệt không hỗ trợ nó). Tất nhiên, với thuộc tính CoffeeScript định nghĩa thủ công kể từ 1.3.3, nó sẽ luôn hoạt động bất kể việc rút gọn (như được thêm vào như một thuộc tính văn bản thuần) – shesek