标签:val 冻结 表示法 cts 枚举 wan 原型 tor 字符串表
var a = {
name: ‘zhangsan‘,
age: 123
};
var b = {
name: ‘lisi‘,
age: 456,
value: ‘pengsn‘
};
var newObj = Object.assign({}, a, b);
console.info(newObj);
// newObj : {
// name: ‘lisi‘,
// age: 456,
// value: ‘pengsn‘
// }
var person = {
name: ‘lisi‘,
age: 24,
value: ‘no-value‘
};
var person2 = Object.create(person);
console.info( person2 );
// __proto__ : {
// age: 24,
// name:‘‘,
// value:‘‘
// }
Object.defineProperties(obj, props);
Object.definePropertie(obj, prop, {
configurable: true,
writable: true,
enumerable: true,
value:null
});
var obj = {
name : ‘name‘,
age : 12
};
for(let [key, value] of Object.entries(obj)) {
console.info(key + ‘:‘ + value);
}
Object.freeze() 方法可以冻结一个对象。
一个被冻结的对象再也不能被修改;
冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。
此外,冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。
Object.isFrozen()方法判断一个对象是否被冻结。
console.info( Object.getOwnPropertyDescriptor(a, ‘name‘)) ;
VM833:1
{value: "agood", writable: true, enumerable: true, configurable: true}
// 新对象默认是可扩展的.
var empty = {};
Object.isExtensible(empty); // === true
// ...可以变的不可扩展.
Object.preventExtensions(empty);
Object.isExtensible(empty); // === false
var obj = {
name : ‘showname‘
};
console.info( obj.hasOwnProperty( ‘name‘ ) ); // true
console.info( obj.hasOwnProperty( ‘hasOwnProperty‘ ) ); //false
function Fn1() {
}
Fn1.prototype = {
name: ‘123‘
}
function Fn2() {
}
Fn2.prototype=Fn1.prototype;
var fn2obj = new Fn2();
Fn1.prototype.isPrototypeOf(fn2obj);//true
//以上展示的是Fn1.prototype是否在fn2obj这个对象上?结果true
//列举不可枚举的属性
var a = {
name : ‘wanghou‘
};
console.info(a.constructor); // function Object()
console.info(a.propertyIsEnumerable("constructor")); // false不可枚举
var d = new Date(2020, 05, 02, 09, 00, 00); // notice 月份是0开始的
console.info(d.valueOf());
标签:val 冻结 表示法 cts 枚举 wan 原型 tor 字符串表
原文地址:https://www.cnblogs.com/pengsn/p/13029214.html