Tại sao việc mở rộng các đối tượng JavaScript tích hợp sẵn không phải là một ý tưởng hay?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
211 lượt xem
Javascript middle

Mở rộng đối tượng JavaScript built-in (tích hợp sẵn) / native có nghĩa là thêm thuộc tính / chức năng vào prototype của nó.

Mặc dù điều này thoạt nghe có vẻ là một ý kiến hay, nhưng thực tế nó rất nguy hiểm. Hãy tưởng tượng mã của bạn sử dụng một vài thư viện mà cả hai đều mở rộng Array.prototype bằng cách thêm cùng một phương thức "contains", các triển khai sẽ ghi đè lẫn nhau và mã của bạn sẽ bị hỏng nếu hành vi của hai phương thức này không giống nhau.

Bạn chỉ nên mở rộng một đối tượng built-in / native là khi bạn muốn tạo một polyfill, ví dụ tạo polyfill để sử dụng các tính năng mới trong ES6 cho IE11.

{{login.error}}