Tôi đã xem một video trong đó Crockford bảo chúng tôi không sử dụng từ khóa new
. Anh ta nói sử dụng Object.create thay vào đó nếu tôi không nhầm. Tại sao ông nói với chúng ta không sử dụng new
nếu anh ta đã sử dụng nó trong việc đạt được thừa kế nguyên chủng trong bài viết này rằng ông đã viết: http://javascript.crockford.com/prototypal.htmlTại sao Crockford lại không sử dụng từ khóa mới nếu ông khuyên chúng ta nên sử dụng nó để thừa kế nguyên mẫu?
tôi mong chờ anh ta sử dụng Object.create thay vì new
, như thế này:
function object(o) {
return Object.create((function() {}).prototype = o);
}
Vậy tại sao anh ấy vẫn sử dụng new
?
Có lẽ anh ấy đã học được điều gì đó từ video/bài viết đó? Thật khó để biết nếu không có video/ngữ cảnh. – alexn
Có lẽ là sự kết hợp của A) 'Object.create' không được [hỗ trợ] (http://kangax.github.com/es5-compat-table/) trên một số trình duyệt và B) bài viết đó đã được viết một vài năm trước; phong cách lập trình của anh ấy, giống như hầu hết chúng ta, có lẽ đã thay đổi và phát triển kể từ đó. –
Đây là video: http://www.youtube.com/watch?v=hQVTIJBZook (Tôi không biết chính xác vị trí trong video anh ấy nói, xin lỗi) – 0x499602D2