Javascript Object

4196 ワード

1.オブジェクトの属性と方法を動的に追加します.
// start with an empty object
var dog = {};

// add one property 
dog.name = "Benji";

// now add a method 
dog.getName = function () {
    return dog.name; 
};
 
2.オブジェクトを一度に作成する
var dog = {
    name: "Benji",
    getName: function () {
        return this.name; 
    }
};
 
3.内装の構造関数を使う
// one way -- using a literal 
var car = {goes: "far"};

// another way -- using a built-in constructor 
// warning: this is an antipattern
var car = new Object();
car.goes = "far";
literal notationのメリット:
1)it’s sharter to type
2)it exphasizes that object are simply mutable hashes and not something that needs to be baked from a「recipe」(from a class) 
3)faster
// an empty object 
var o = new Object();

console.log(o.constructor === Object); // true

// a number object
var o = new Object(1); 
console.log(o.constructor === Number); // true 
console.log(o.toFixed(2)); // "1.00"

// a string object
var o = new Object("I am a string"); 
console.log(o.constructor === String); // true 

// normal objects don't have a substring()
// method but string objects do 
console.log(typeof o.substring); // "function"

// a boolean object
var o = new Object(true); 
console.log(o.constructor === Boolean); // true