java开发之常用的Javascript对象方法整理分享

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

语法:ObjectName.methodName()

在本文中,我们将讨论 Javascript 中 7 个最常用的对象方法,它们将帮助你更轻松地使用对象原型!

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)        // true

2、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: false

6、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

(0)

相关推荐

  • JS的原型和继承

    __proto__ 除null和undefined,JS中的所有数据类型都有这个属性: 它表示当我们访问一个对象的某个属性时,如果该对象自身不存在该属性, 就从它的__proto__属性上继续查找,以 ...

  • 一探 Vue 数据响应式原理

    本文写于 2020 年 8 月 5 日 相信在很多新人第一次使用 Vue 这种框架的时候,就会被其修改数据便自动更新视图的操作所震撼. Vue 的文档中也这么写道: Vue 最独特的特性之一,是其非侵 ...

  • JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法

    avaScript hasOwnProperty() 方法是 Object 的原型方法(也称实例方法),它定义在 Object.prototype 对象之上,所有 Object 的实例对象都会继承 h ...

  • const关键字:终于拥有真正的常量声明语句

    本文首发于个人网站:const关键字:终于拥有真正的常量声明语句 你好,今天大叔想和你唠扯唠扯 ES6 新增的关键字 -- const.在说 const 关键字之前,大叔先和你唠唠大叔自己对 cons ...

  • JavaScript 对象所有API解析【2021版】

    前端技术优选 今天以下文章来源于若川视野 ,作者若川视野 若川视野建议工作5年内的前端人关注.我是若川,<学习源码整体架构系列>作者,知乎.掘金等平台的文章累计超过百万阅读.致力于前端开发 ...

  • JavaScript 对象的创建和操作

    <script>         // 对象是属性的无序集合,每个属性都是一个名/值对. 属性名称是一个字符串.         // 对象种类         // 内置对象(nativ ...

  • Java线上故障排查工具和方法整理

    来源:fredal https://fredal.xin/java-error-check 线上故障主要会包括cpu.磁盘.内存以及网络问题,而大多数故障可能会包含不止一个层面的问题,所以进行排查时候 ...

  • 6篇范文详细拆解分析,最全小学生写人作文方法整理分享,超实用

    生活中离不开人和事.作文呢,写人和记事是最常见的题材. 今天我们就以四年级写人类的优秀范文为例,来破解一下:怎样写好写人作文. 我们选取了6篇作文,人物包括:自己,父母,其他长辈,老师,同学,几乎包含 ...

  • 糖尿病的各种中医治疗及食疗泡脚方法整理分享

    中医治疗糖尿病具有很好的效果.中医称糖尿病为消渴,将糖尿病分为三大类型,上消.中消.下消,进行辨证治疗. 中医是怎样治疗糖尿病的? 中医药治疗,一般可将糖尿病分为阴虚热盛型.气阴两虚型和阴阳两虚型等. ...

  • Java开发常用工具汇总?

    初学者刚刚入门学习需要用到一些开发工具,初学Java一般从控制台应用程序开发开始的,在cmd下调试,为你的电脑搭建好开发环境,需要在网站上下载JDK,安装完成后调试成功就可以开始写你的Java程序了. ...

  • JAVA 开发常用工具汇总

    安静的高级架构师2021-02-20 14:16:23 来源 | 潜行前行 作者 | cscw 本文总结了 JAVA 开发中常用的工具,希望对大家有所帮助. Commons BeanUtils 针对 ...

  • Java开发常用技术基础部分有哪些?

    在Java中,OOM是java.lang.OutOfMemoryError异常的缩写,简单来说是应用的内存用完了.而这个内存,指代的是JVM管理的内存模型. Java开发常用技术基础有如下几种: Pr ...

  • JavaScript日期对象 - 方法

    日期对象的方法 日期格式化方法: 格式:日期对象.方法(); alert( box.toDateString() );  以特定的格式显示星期几.月.日和年 alert( box.toTimeStri ...

  • JavaScript——常用内置对象

    JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... 此外I,JavaScript还提供多个内建对象,比如 Array,Date,Math 等等 对象只是带有属性和方法的特殊数据 ...

  • 直播平台开发,常用流媒体和视频传递方法

    一.直播平台开发关于流媒体的基础知识 1.流媒体开发,负责网络层的传输,协议层负责网络打包,封装层负责编解码数据的封装,编码层负责图像.音频压缩 2.帧数,每一帧代表一副静止的画面 3.GOP,画面组 ...