JS ES5
1594 ワード
厳格モード var宣言変数 を使用する必要があります.カスタム関数thisがwindow を指すことを禁止する eval用の役割ドメイン を作成オブジェクト属性名は、 を繰り返すことはできません.
JSONオブジェクト Object拡張 を作成する. を定義する.
use strict
'use strict'
funcion Person(name){
this.name = name;
}
Person("Tom"); //error
new Person("Tom"); //right
JSONオブジェクト
JSON.stringify(obj/arr)
jsオブジェクト(配列)回転jsonオブジェクト(配列)JSON.parse(json)
jsonオブジェクト回転(配列)jsオブジェクト(配列)Object.create(prototype, [descriptors])
指定オブジェクトをプロトタイプとして新規オブジェクトvar man = {sex:'mail'};
var person = Object.create(man, {
name: {
value: '',
writable: true, //
configurable: true, // ( )
enumerable: true //
}
})
person.name = 'Tom';
for (let value in person) {
console.log(value); //name sex
}
Object.defineProperties(object, descriptors)
指定オブジェクトに対して複数の属性を拡張するvar obj1 = {
firstName: 'Kevin',
lastName: 'Tseng'
};
Object.defineProperties(obj1, {
fullName: {
//
get: function(){
return this.firstName + '-' + this.lastName;
},
//
set: function(data){
var nameArr = data.split("-");
this.firstName = nameArr[0];
this.lastName = nameArr[1];
}
}
})
console.log(obj1.fullName); //Kevin-Tseng
obj1.fullName = "Tom-Smith";
console.log(obj1.fullName, obj1.firstName); //Tom-Smith Tom