рдЪреВрдВрдХрд┐ рдЧреЗрдЯрд░реНрд╕/рд╕реЗрдЯрд░реНрд╕ рдЖрдИрдИ 9 + рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ рдФрд░ рдИрдПрд╕ 6 рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдкреНрд░рдЪрд▓рд┐рдд рд╣реЛрдВрдЧреЗ, рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдмреИрдХрдмреЛрди рдХреА рд╡рд┐рд╕реНрддрд╛рд░ рд╡рд┐рдзрд┐ рдиреЗ рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ред
var Person = Backbone.Model.extend({
get fullName() {
return this.get('firstName') + ' ' + this.get('lastName');
}
});
var elonMusk = new Person({
firstName: 'Elon',
lastName: 'Musk'
});
console.log(person.fullName); // >> Elon Musk
рдЕрднреА рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо undefined is not a function
рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ _.extend
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреЗрдЯрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдЬрд┐рд╕реЗ person.fullName()
рдХреЗ рд░реВрдк рдореЗрдВ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЬрд╛рди рд╕рдХреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╣реИ?
рдЧреЗрдЯрд░реНрд╕ рдФрд░ рд╕реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЗрдПрд╕ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдФрд░ рд╡реЗ рдмреИрдХрдмреЛрди рдореЙрдбрд▓ рдХреЗ рдореВрд▓ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЬрд▓реНрдж рд╣реА рдХрд┐рд╕реА рднреА рд╕рдордп рд╕рдорд░реНрдерди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВрдЧреЗред
рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдирдП рд╡рд░реНрдЧ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЧрдардмрдВрдзрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреНрд▓рд╛рд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдХреЛрдИ рдкреНрд░реЙрдкрд░реНрдЯреА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝рд░ рдирд╣реАрдВ рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдХреЛрдИ рд╕реНрдкреЗрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрдВрдЯрд░рдСрдк рдПрдХ рдореБрджреНрджрд╛ рд╣реЛрдЧрд╛ред
рд╡реЗ рдмреИрдХрдмреЛрди рдореЙрдбрд▓ рдХреЗ рдореВрд▓ рд╡рд┐рдЪрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬрд╛рддреЗ рд╣реИрдВред
рд╡рд╣ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЧреЗрдЯрд░реНрд╕ рдмреИрдХрдмреЛрди рдореЗрдВ рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЖрдВрд╢рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред model.idAttribute
рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ред
рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде jsperf рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдХреБрдЫ рдорд┐рдирдЯ рдмрд┐рддрд╛рдП:
http://jsperf.com/backbone-extend-with-define-property
рд╡рд╣ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд┐ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдкрд░ рдХрд┐рд╕реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдкрд╛рд░рджрд░реНрд╢реА рдФрд░ рддрд╛рд░реНрдХрд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ obj.prop = val
рдЙрд╕ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп (рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рд▓рд┐рдП рдбрд┐рдЯреНрдЯреЛ) рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЧрдИ рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред get
рдФрд░ set
рд░реИрдкрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ attributes
ред
рдмреИрдХрдмреЛрди рдореЗрдВ рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд░реНрд╕ рднреА рдЖрдВрд╢рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред model.idAttribute рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ред
рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдореМрдЬреВрджрд╛ _.result
рд░реИрдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? idAttribute
рдпрд╛ рддреЛ рдПрдХ рдЖрджрд┐рдо рдпрд╛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ modelId
рдХреЗ рд╕рд╛рде рднреА рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореБрдЭреЗ рдЙрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛: https://github.com/jashkenas/backbone/issues/3408
рдореИрдВ рдЗрд╕реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдмреИрдХрдмреЛрди рдХрд╛ рдХреНрд▓рд╛рд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛рдлреА рд╣рдж рддрдХ рдИрдПрд╕ рдХреНрд▓рд╛рд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИ, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЙрдЪрд┐рдд рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреЙрдлрд╝реАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдорд░реНрдерди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЙрдиреНрд╣реАрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╕реЗрдЯрд░реНрд╕ рдФрд░ рдЧреЗрдЯрд░реНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдХреБрдЫ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд▓рд┐рдП рд╡рд╣рд╛рдВ рдореБрджреНрджреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ, https://github.com/jashkenas/coffeescript/pull/2902) рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред рдЙрдиреНрд╣реЗрдВ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдХрдмреЛрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдмрд╛рдзрд╛ рдирд╣реАрдВ рдмрдирдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореБрдЭреЗ рдЙрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЬреБрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛: #3408
рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛? рдореИрдВ рдмрд▓реНрд▓реЗ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрдмрд╛рд╡ рдбрд╛рд▓ рд░рд╣рд╛ рд╣реВрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, extend
_.extend
рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣рд╛рдВ рдирд╣реАрдВред рдПрдХ рдЕрднреНрдпрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛ред
рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЙрдиреНрд╣реАрдВ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╕реЗрдЯрд░реНрд╕ рдФрд░ рдЧреЗрдЯрд░реНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдореИрдВ рдЧреЗрдЯрд░реНрд╕/рд╕реЗрдЯрд░реНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдмреЛрд▓ рд░рд╣рд╛ рдерд╛, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреИрд╕реЗ рдмреИрдХрдмреЛрди рдиреЗ рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдк рдХреЗ рд▓рд┐рдП __super__
рдЬреЛрдбрд╝рд╛, рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЙрд╕реА рддрд░рд╣ ES6 рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛? рдореИрдВ рдмрд▓реНрд▓реЗ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрдмрд╛рд╡ рдбрд╛рд▓ рд░рд╣рд╛ рд╣реВрдВред
Collection.extend({
model: function() { return Model }
});
//
collection.modelId(model); // 'id' regardless if that's correct or not.
Collection.extend({
get model() { return Model }
});
//
collection.modelId(model); // correct for *some* of the common cases.
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди _.extend рдореЗрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣рд╛рдВ рдирд╣реАрдВред рдПрдХ рдЕрднреНрдпрд╕реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛ред
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рдЕрдЧрд░ рдХреБрдЫ рднреА рд╣реЛ рддреЛ рдпрд╣ рдирдИ _.assign
рдкрджреНрдзрддрд┐ рдореЗрдВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдИрдПрдордУ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдП рдФрд░ рднреВрд▓ рдЬрд╛рдП рдХрд┐ рдореИрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдмреИрдХрдмреЛрди рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд▓рд┐рдП рдИрдПрд╕ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдСрдк рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рдХреНрдпреЛрдВ рд╣реИ рд▓реЗрдХрд┐рди рдХреЙрдлреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВред
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП рдЖрдИрдИ рдЯреЗрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдПрдХрдорд╛рддреНрд░ рдРрд╕рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ class
(рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЯреНрд░реИрд╕реБрд░ рдФрд░ 6to5 рдЕрднреА рддрдХ extends
рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ) рдХреЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рд╕рднреНрдп рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде, рд╣рдо рдЗрд╕рд╕реЗ рдПрдХ рддрд░рд╣ рд╕реЗ рджреВрд░ рд╣реИрдВ рдЬрд╝рд░реВрд░реАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмреИрдХрдмреЛрди рдХреЗрд╡рд▓ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдЫреЗ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЯреНрд░реЗрд╕рд░ рдФрд░ 6to5 рдЕрднреА рддрдХ
extends
. рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
рд╡реЗ рджреЛрдиреЛрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░ рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП __proto__
рдХреЗ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмреИрдХрд╡рд░реНрдб-рд╕рдВрдЧрддрддрд╛ рдХреЛ рддреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕реЗ рдФрд░ рднреА рддреЗрдЬрд╝ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдЪреБрдирд┐рдВрджрд╛ рд░реВрдк рд╕реЗ Object.setPrototypeOf
рдЬрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реЛ, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
@thejameskyle рдЗрд╕реЗ рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреЗ рдмрдЬрд╛рдп рдкреАрдЖрд░ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╣ рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИред
рдЬрд╝рд░реВрд░, рдореИрдВ рдпрд╣ рдХрд░реВрдБрдЧрд╛
рдХреНрдпрд╛ рдпрд╣ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рд░ рдпрд╛ рдХреБрдЫ рд╣реИ? рдореИрдВ рдПрдХ рд╢реЙрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЬрд╝рд░реВрд░, рдореИрдВ рдпрд╣ рдХрд░реВрдБрдЧрд╛