最常用的Javascript对象方法

简介: Javascript 对象方法是包含内置函数定义的属性,用于有效地处理单个对象并从中获取信息。

1、 Object.is()

Object.is() 是一种判断两个值是否相同的方法。

语法:Object.is(value1, value2);

参数:

value1:要比较的第一个值。

value2:要比较的第二个值。

返回值:一个布尔表达式,指示两个参数是否具有相同的值。

例子:

// Case 1: Evaluation result is the same as using '==='Object.is(25, 25);                // trueObject.is('foo', 'bar');          // falseObject.is(foo, foo);              // true// Case 2: Signed zeroObject.is(0, -0);                 // falseObject.is(0n, -0n);               // true// Case 3: NaNObject.is(NaN, 0/0);              // trueObject.is(NaN, Number.NaN)        // true

2、Object.assign()

Object.assign() 方法用于将所有可枚举的自身属性从一个或多个源对象复制到目标对象。

语法:Object.assign(target, ...sources)

参数:

target:目标对象——应用源属性的对象,修改后返回。

sources:源对象——包含你要应用的属性的对象。

返回值:修改后的目标对象。

例子:


consttarget= { a: 1, b: 2 };
constsource= { b: 4, c: 5 };
constreturnedTarget=Object.assign(target, source);
console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }


注意:如果源对象中的属性具有相同的键,则目标对象中的属性会被源中的属性覆盖。较晚来源的属性会覆盖较早来源的属性。

3、Object.entries()

Object.entries() 方法返回给定对象自己的可枚举字符串键属性 [key, value] 对的数组。

它类似于使用 for...in 循环进行迭代,除了 for...in 循环还会枚举原型链中的属性。属性的顺序与通过手动循环对象的属性值给出的顺序相同。

语法:Object.entries(obj)

参数:

obj:要返回其自己的可枚举字符串键属性 [key, value] 对的对象。

返回值:给定对象自己的可枚举字符串键属性 [key, value] 对的数组。

例子:


constobject1= {name: "David", age: 23};
for (const [key, value] ofObject.entries(object1)) {  
console.log(`${key}: ${value}`);
}
// "name: David"// "age: 23"


4、Object.values()

Object.values() 方法返回给定对象自己的可枚举属性值的数组,其顺序与 for...in 循环提供的顺序相同。

语法:Object.values(obj)

参数:

obj:要返回其可枚举自身属性值的对象。

返回值:包含给定对象自己的可枚举属性值的数组。

例子:


constobject1= {  
a: 'somestring',  
b: 42,  
c: false};
console.log(Object.values(object1));
// expected output: Array ["somestring", 42, false]


5、Object.prototype.hasOwnProperty()

hasOwnProperty() 方法返回一个布尔值,指示对象是否具有指定的属性作为它自己的属性。

如果指定的属性是对象的直接属性,则该方法返回 true — 即使值为 null 或未定义。如果该属性是继承的或根本没有声明,则返回 false。

语法:hasOwnProperty(prop)

参数

prop:要测试的属性的字符串名称或符号。

返回值:如果对象将指定的属性作为自己的属性,则返回true;否则为false。

例子:


constobject1= {};
object1.property1=42;
console.log(object1.hasOwnProperty('property1'));
// expected output: trueconsole.log(object1.hasOwnProperty('toString'));
// expected output: falseconsole.log(object1.hasOwnProperty('hasOwnProperty'));
// expected output: false


6、Object.keys()

Object.keys() 方法用于返回给定对象自己的可枚举属性名称的数组,以与普通循环相同的顺序迭代。

语法:Object.keys(obj)

参数:

obj:要返回可枚举自身属性的对象。

返回值:表示给定对象的所有可枚举属性的字符串数组。

例子:


constobject1= { 
a: 'somestring', 
b: 42,  
c: false};
console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]


7、 Object.prototype.toString()

toString() 方法返回一个表示对象的字符串。当对象将被表示为文本值或以期望字符串的方式引用对象时,将自动调用此方法 id。默认情况下,toString() 方法由从 Object 继承的每个对象继承。

语法:toString()

返回值:表示对象的字符串。

例子:


functionDog(name) {  
this.name=name;
}
constdog1=newDog('Gabby');
Dog.prototype.toString=functiondogToString() {  
return`${this.name}`;
};
console.log(dog1.toString());
// expected output: "Gabby"

注意:对于 Numbers 和 Big Ints,toString() 采用可选参数 radix,其值必须最小为 2,最大为 36。


8、Object.freeze()

Object.freeze() 方法冻结一个对象,这意味着它不能再被更改。冻结对象可防止向其添加新属性,防止删除现有属性,防止更改现有属性的可枚举性、可配置性或可写性,并防止更改现有属性的值。它还可以防止其原型被更改。

语法:Object.freeze(obj)

参数:

obj:要冻结的对象。

返回值:传递给函数的对象。

例子:


constobj= { 
prop: 42};
Object.freeze(obj);
obj.prop=33;
// Throws an error in strict modeconsole.log(obj.prop);// expected output: 42
相关文章
|
8月前
|
存储 JavaScript 前端开发
JavaScript对象方法详解
JavaScript对象方法详解
60 1
|
JavaScript 前端开发
🎖️了解JavaScript 中的对象方法
简单探讨一些重要的 JavaScript 对象方法,这些方法允许您有效地操作和迭代对象。
85 2
|
8月前
|
JavaScript 前端开发 数据处理
js常用的循环数组对象方法以及应用场景
【4月更文挑战第4天】在JavaScript中,遍历数组和对象有多种方法,如for、for...of、forEach、map、filter等。for循环适用于需要控制循环次数和索引的场景,for...of适用于仅需元素值的情况,forEach适合函数式编程,map用于数组转换,filter则用于筛选元素。对象循环可使用for...in遍历所有可枚举属性,Object.keys和Object.values分别获取键名和值进行遍历。这些方法在处理数据、筛选、转换等方面有广泛应用,应根据场景选择合适的方法以提高代码效率和可读性。
103 3
|
JavaScript 前端开发 API
javascript常用对象方法
javascript常用对象方法
|
JavaScript
冻结JS对象方法技术详解
看到这个标题你可能会很奇怪冻结JS对象,啊!又触碰到我的知识盲区了,那么首先来了解一下JS对象
143 5
冻结JS对象方法技术详解
|
JavaScript 前端开发
JS DOM之使用对象方法操作HTML属性
1.getAttribute 在JavaScript中,我们可以使用getAttribute()方法来获取元素某个属性的值
116 0
|
JavaScript
js 对象方法、类方法、原型方法的区别;私有属性、公有属性、公有静态属性
原文地址:https://my.oschina.net/tongjh/blog/265087?p={{currentPage-1}} test //对象构造函数 function Ate...
751 0
|
JavaScript 前端开发 流计算
JavaScript Number 对象 Javascript Array对象 Location 对象方法 String对象方法
JavaScript Number 对象 Number 对象属性 属性 描述 constructor 返回对创建此对象的 Number 函数的引用。 MAX_VALUE 可表示的最大的数。
777 0