2016-12-30 11 views
-1

JavaScriptからオブジェクトを作成する最初の方法は、そこから新しいオブジェクトを作成させることです。オブジェクトを作成する第2および第3の方法は、エラーを投げている 誰かがなぜこれが起こっているのか教えてもらえますか?私がコードで何をしているのかを教えてください。他のオブジェクトから新しいオブジェクトを作成する

'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??? 
+0

var for = new log(); 'for'は予約語であり、変数名として使用することはできません。 – degr

+0

' Object.create' - クラスではなく新しいオブジェクトを作成します。 'new log3'はクラスではありません(コンストラクタではありません)。 – degr

+0

名前をすべてやり直す必要があります。それから始めよう! – mnemosdev

答えて

0

最初のケースでは「クラス」が作成されており、必要な数のオブジェクトを作成できます。

2番目と3番目のケースでは、オブジェクト自体を作成しており、オブジェクトからオブジェクトを作成することはできません。作成後すぐに使用できます。

// Second Way for creating object 

var log2 = { 
    name: 'nitesh', 
    lastname: 'yadav', 
    age: '21' 
} 
// var foo2 = new log2; // This line is not needed 
console.log(log2.name) // No Error 

// 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; // This line is not needed 
console.log(foo3.log3) // No Error 
関連する問題