Я рассматриваю некоторые общие способы определения классов (Constructor Pattern in Book by Addy Osmani).Определение классов в JS (ES5 vs Prototype)
2 основных пути я вижу:
Простые Прототипы:
function Person(name) { this.name = name; } Person.prototype.getName = function() { return this.name; }
ES5
Object.create
,Object.defineProperties
Я задаюсь вопросом, почему я мог бы даже рассмотреть ES5 путь, который, кажется, намного сложнее? Есть ли преимущества? Может быть, единственным главным преимуществом является наличие свойств только для чтения, таких как некоторые типично типизированные языки?