только первый способ создания объекта в javascript позволяет мне создавать из него новый объект. второй и третий способ создания объекта бросают ошибку может кто-то сказать мне, почему это происходит. и дайте мне знать, какую ошибку я делаю в коде.создание нового объекта из другого
'use strict'
// First Way for creating object
var log = function(){
this.name = 'nitesh',
this.lastName = 'Yadav',
this.age = '21'
}
Object.defineProperty(log,'name',{
enumerable: false,
writable: false,
configurable: false
})
var for = new log(); ***// Works fine***
console.log(foo.name); // nitesh
// Second Way for creating object
var log2 = {
name: 'nitesh',
lastname: 'yadav',
age: '21'
}
var foo2 = new log2; ***//Not working***
console.log(foo2.name) // Result error Why???
// third Way for creating object
var log3 = Object.create(Object.prototype,{
name:{
value: 'nitesh',
enumerable: true,
writable: true,
configurable: true
},
age: {
value: '21',
enumerable: true,
writable: true,
configurable: true
}
})
var foo3 = new log3; ***//Not working***
console.log(foo3.name) // Result error Why???
var for = new log(); будет генерировать исключение, потому что 'for' это зарезервированное слово, и вы не можете использовать его как имя переменной – degr
' Object.create' - создать новый объект, а не класс. Вы не можете вызывать 'new log3', потому что это не класс (а не конструктор). – degr
Именование должно быть переделано. Начните с этого! – mnemosdev