https://github.com/getify/You...
Buku ini percaya bahawa gaya berkaitan objek adalah lebih baik daripada gaya berorientasikan objek (prototaip) Buku ini juga menyatakan bahawa ia tidak menyokong sintaks kelas ES6, tetapi nampaknya gaya berorientasikan objek masih digunakan lebih kerap. Bagaimana untuk memilih?
Gaya berorientasikan objek:
function Foo(who) { this.me = who; } Foo.prototype.identify = function() { return "I am " + this.me; }; function Bar(who) { Foo.call( this, who ); } Bar.prototype = Object.create( Foo.prototype ); Bar.prototype.speak = function() { alert( "Hello, " + this.identify() + "." ); }; var b1 = new Bar( "b1" ); var b2 = new Bar( "b2" ); b1.speak(); b2.speak();
Gaya persatuan objek:
var Foo = { init: function(who) { this.me = who; }, identify: function() { return "I am " + this.me; } }; var Bar = Object.create( Foo ); Bar.speak = function() { alert( "Hello, " + this.identify() + "." ); }; var b1 = Object.create( Bar ); b1.init( "b1" ); var b2 = Object.create( Bar ); b2.init( "b2" ); b1.speak(); b2.speak();
Apakah pendapat anda tentang gaya pengaturcaraan yang dianjurkan dalam "JS You Don't Know"?
Saya rasa jawapan Cikgu Dia agak bagus.
Secara peribadi, saya fikir jika anda mengalami gangguan obsesif-kompulsif, pilih delegasi dan jika anda tidak mengalami gangguan obsesif-kompulsif, pilih berorientasikan objek. Pengarang kelihatan seperti gangguan obsesif-kompulsif yang tidak dapat melihat sebutir pasir di matanya, dan sangat tahan terhadap masalah individu yang disebabkan oleh kelas. Kaedah yang anda pilih sepenuhnya adalah pilihan peribadi Tidak kira kaedah yang anda pilih, perkara utama ialah memahami intipatinya dan tetap berdasarkan rantaian prototaip. Saya pernah melakukan Java dan mengalami gangguan obsesif-kompulsif ringan, jadi saya lebih menerima kelas ^_^
Cara menulis kod sudah tentu merupakan perkara yang sangat peribadi, berkaitan dengan tabiat dan pilihan anda. Tetapi saya rasa ada beberapa prinsip asas untuk rujukan:
Meningkatkan kecekapan pembangunan
Kurangkan kadar ralat
3. Mudah dibaca dan difahami
Cara yang memenuhi tiga perkara ini adalah cara yang baik Melanggar tiga perkara ini dan bertegas dengan cara tertentu adalah tidak patut diperjuangkan.
Apabila memilih cara menulis kod, mengapa tidak mencuba kesemuanya dan membandingkannya mengikut tiga prinsip ini Anda tidak perlu melakukannya hanya kerana seseorang mengatakannya.