最常用的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); // true Object.is("foo", "bar"); // false Object.is(foo, foo); // true // Case 2: Signed zero Object.is(0, -0); // false Object.is(0n, -0n); // true // Case 3: NaN Object.is(NaN, 0/0); // true Object.is(NaN, Number.NaN) // true2、Object.assign()
Object.assign() 方法用于将所有可枚举的自身属性从一个或多个源对象复制到目标对象。
语法:Object.assign(target, ...sources)
参数:
target:目标对象——应用源属性的对象,修改后返回。
sources:源对象——包含你要应用的属性的对象。
返回值:修改后的目标对象。 const target = { a: 1, b: 2 }; const source = { b: 4, c: 5 }; const returnedTarget = 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] 对的数组。 const object1 = {name: "David", age: 23}; for (const [key, value] of Object.entries(object1)) { console.log(`${key}: ${value}`); } // "name: David" // "age: 23"4、Object.values()
Object.values() 方法返回给定对象自己的可枚举属性值的数组,其顺序与 for...in 循环提供的顺序相同。
语法:Object.values(obj)
参数:
obj:要返回其可枚举自身属性值的对象。
返回值:包含给定对象自己的可枚举属性值的数组。 const object1 = { 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。 const object1 = {}; object1.property1 = 42; console.log(object1.hasOwnProperty("property1")); // expected output: true console.log(object1.hasOwnProperty("toString")); // expected output: false console.log(object1.hasOwnProperty("hasOwnProperty")); // expected output: false6、Object.keys()
Object.keys() 方法用于返回给定对象自己的可枚举属性名称的数组,以与普通循环相同的顺序迭代。
语法:Object.keys(obj)
参数:
obj:要返回可枚举自身属性的对象。
返回值:表示给定对象的所有可枚举属性的字符串数组。 const object1 = { 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()
返回值:表示对象的字符串。 function Dog(name) { this.name = name; } const dog1 = new Dog("Gabby"); Dog.prototype.toString = function dogToString() { 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:要冻结的对象。
返回值:传递给函数的对象。 const obj = { prop: 42 }; Object.freeze(obj); obj.prop = 33; // Throws an error in strict mode console.log(obj.prop); // expected output: 42
口水直流!P1S飞翼擎天柱雕像震撼来袭今年上海WF展因为实在抽不开身所以没有去参加,多少有些遗憾,看了小白哥乌拉诺斯拍的各种现场实拍图,实在是眼馋。其中P1S家的飞翼擎天柱大雕像更是让我口水直流,正好最近已经有这款产品
1688上,藏着工厂升级的密码导语造风者才能乘着大势起舞。广东顺德的家电王国,浙江温州的中国鞋都,广东汕头的玩具之都,江苏南通的家纺,浙江永康的五金无数个散落在中国大地上的制造集群,勾勒出我国世界工厂的雏形。制
质感大幅提升!UT惊破天高清美图赏析昨天微博用户阿鲁卡多发布了一组UT惊破天的高清美图,在还未收到评测件之前,我跟兄弟们一起还是看图先解解馋!图片转自阿鲁卡多这款UT惊破天高度大概是29公分,据说分量十足,几乎是UT
荣耀智慧屏X2成为家居必备之选,电视领域壁垒格局被打破双十一购物狂欢节拉开序幕,这个时候你是否准备好了买买买呢?可以说现在是每年最佳的购物时间段,这些很多的数码产品也加入到促销的热潮中来,而作为刚发布不久的荣耀智慧屏X2,更是开启了直
直击金彭低速四轮车王牌产品金彭艾咪AMY金彭T90大家都知道低速四轮车市场,金彭新能源这个牌子拿得出手,叫得上名。但它旗下那么多款车型,比如金彭T90金彭艾咪AMY金彭D90等,究竟哪一款更值得入手呢?下面为大家推荐金彭新能源当下
小快乐能带来多大的美好?天猫双11这支温情片有了答案天猫双11预售已经开启,天猫全网发布了品牌主题片王小乐不乐用一支暖心TVC故事片,触及观众的内心。视频加载中天猫拍摄TVC广告片不是新鲜事儿,但王小乐不乐,不论从故事风格,还是背后
NA小比例擎天柱公布!胸部造型引大争议今天NA在微博上公布了自家小比例的擎天柱,正式加入与魔方小比例擎天柱的正面对抗,咱们一起来看看官图!首先是产品内容物,包含擎天柱一个,车厢一个,小滚珠一个,造型手一对,能量斧和黑枪
迪迦大战哥尔赞!奥特曼打小怪兽的场景要实现了万代即将于2022年1月推出SHF哥尔赞和SHF胜利飞燕1号2号套装,加上之前推出的真骨雕迪迦,这下奥特曼打小怪兽的场景真的要实现了!首先来看一下怪兽哥尔赞,整体高度15。5公分,
华为当家花旦,华为智选吉米手持无线吸尘器入手体验一前言作为一名酷爱时尚新潮的达人,喜欢将家里在收拾得干干净净,当然这于人们口中的洁癖相差甚远,但对于喜爱追求卓越品质生活的人们来讲,估计很多人都跟我一样的爱好。就拿扫地来讲,你还在
质感超一流!万代MB龙神号大货开箱图来了不知不觉万代MB龙神号就要发售了,作为神龙斗士死忠粉,对这款产品那是相当的期待,今天发现居然已经有了抢先的大货开箱图了,咱们赶紧一睹为快先!图片转自微博用户小白哥乌拉诺斯包装盒看起
孩之宝众筹版狮王史达!价格不菲却还有偷胶?最近孩之宝公布了众筹版狮王史达的灰模,这个消息还是颇为让人关注的,咱们一起来简单看看!说到孩之宝众筹,兄弟们应该会想起两年前众筹宇宙大帝的情景,在我印象中众筹产品应该都是尺寸很大,