属性的简写方法:
function f(x, y) {
return {x, y};
}
// 等同于
function f(x, y) {
return {x: x, y: y};
}
f(1, 2) // Object {x: 1, y: 2}
方法也可以简写
const o = {
method() {
return "Hello!";
}
};
// 等同于
const o = {
method: function() {
return "Hello!";
}
};
for...in
循环:只遍历对象自身的和继承的可枚举的属性。Object.keys()
:返回对象自身的所有可枚举的属性的键名。(可以通过这个来进行对象的遍历)JSON.stringify()
:只串行化对象自身的可枚举的属性。 转换为JSON字符串。Object.assign()
: 忽略enumerable
为false
的属性,只拷贝对象自身的可枚举
var obj = {
"age":'19999',
"sex":'男'
}
let str = JSON.stringify(obj);
console.log(str);
对象新增的方法:
Object.is(value,value);
判断两个值是否相等:
Object.assign(newobj,obj1,obj2,obj3):用于对象的合并,整合到第一个对象中
var obj = {
"age":'19999',
"sex":'男'
}
let newobj = {};
Object.assign(newobj,obj);
newobj.age = 100000;
console.log(newobj);
console.log(obj);
由于undefined
和null
无法转成对象,所以如果它们作为参数,就会报错。
如果非对象参数出现在源对象的位置(即非首参数),那么处理规则有所不同。首先,这些参数都会转成对象,如果无法转成对象,就会跳过。这意味着,如果undefined
和null
不在首参数,就不会报错