Nếu tôi cóCó phải yêu cầu IIFE xung quanh lớp học trong ECMAScript/Javascript 6 không?
Class Car {}
tôi có cần phải đóng bằng chức năng đóng của mình không? Do var's được treo lên cửa sổ? hoặc chỉ đến lớp học? Điều gì về khi transpiled? Traceur/babel biến nó thành một IIFE và chúng ta hãy vào var's?
Tôi có cần phải:
(function(){
Class Car() {}
}());
Để được an toàn?
Điều đó phụ thuộc vào việc bạn đang tải tệp dưới dạng tập lệnh hay mô-đun. Bạn đang tải tệp như thế nào? – loganfsmyth
Natively, đó là một câu hỏi thực sự tốt. Thử nghiệm ở đây với Edge và mặc dù tôi có thể có tệp 'car.js' với khai báo lớp đó và tệp' new-car.js' sử dụng lớp đó, nếu tôi đăng nhập 'Car' vào bảng điều khiển, nó sẽ hiển thị cho tôi constructor, nhưng nếu tôi đăng nhập 'window.Car', nó sẽ hiển thị' undefined'. – Buzinas
@Buzinas: Đó là một chút khác biệt. Các khai báo chính xác ('class',' let' và 'const') không trở thành thuộc tính của đối tượng chung. –