当前位置: 首页 > 编程笔记 >

JavaScript中的Object.assign()?

印瑾瑜
2023-03-14
本文向大家介绍JavaScript中的Object.assign()?,包括了JavaScript中的Object.assign()?的使用技巧和注意事项,需要的朋友参考一下

Object.assign()

此方法用于将一个或多个源对象复制到目标对象因为它在源上使用“ get”,在目标上使用“ Set”,所以它会调用getter和setter。它返回目标对象,该对象具有从目标对象复制的属性和值。此方法不会抛出空值或未定义的源值。

语法

Object.assign(target, ...source objects);

它以源对象和目标对象为参数,并将源对象推入目标对象并显示目标对象。

示例1

在以下示例中,源对象  “ obj1 ”,“ obj2 ”和“ obj3 ”的属性被推入目标对象“ obj ”,并且该目标对象作为输出返回

<html>
<body>
<script>
   var obj1 = { a: 10, b:20 };
   var obj2 = { c: 30, d:40 };
   var obj3 = { e: 50 };
   var obj = Object.assign({}, obj1, obj2, obj3);
   document.write(JSON.stringify(obj));
</script>
</body>
</html>

输出结果

{"a":10,"b":20,"c":30,"d":40,"e":50}


示例2

在下面的示例中,对象的某些属性多个实例。在这种情况下,Object.assign()方法采用属性的最后分配值。例如,在所有3个对象中,“ obj1 ”,“ obj2 ”和“ obj3”属性' c '是通用的,并分别分配了值,例如1,3和0。obj3中的属性' c '的值会覆盖之前的其他值分配了值13。因此,如果我们看一下输出,则为属性' c '分配了值0

<html>
<body>
<script>
   var obj1 = { a: 10, b:20, c:1 };
   var obj2 = { b: 30, d:10, c:3 };
   var obj3 = { e: 60, d:70, c:0 };
   var obj = Object.assign({}, obj1, obj2, obj3);
   document.write(JSON.stringify(obj));
</script>
</body>
</html>

输出结果

{"a":10,"b":30,"c":0,"d":70,"e":60}
 类似资料:
  • 问题内容: 好的,问题很简单。我要使用两个JavaScript文件:一个遵循模块模式,另一个遵循第一个。我使用Node.js测试了所有代码。当所有代码都放在一个文件中时,它可以工作,但是如果我将代码分成两个文件,则会出现错误。 这是代码: PS:我想使用Javascript表示法而不是Node export表示法来实现模式。 问题答案: 首先,我不清楚为什么要在Node.js中使用“模块模式”。我

  • 问题内容: 如何在JavaScript中检查字符串是否以特定字符结尾? 示例:我有一个字符串 我想知道该字符串是否以结尾。我该如何检查? JavaScript中是否有方法? 我有一个解决方案是获取字符串的长度并获取最后一个字符并进行检查。 这是最好的方法还是还有其他方法? 问题答案: 该答案最初发布于2010年(六年前),因此请注意以下有见地的评论: Shauna -Google员工的更新-看起来

  • 问题内容: 我需要在JavaScript源代码中添加一些轻量级语法糖,并使用基于JavaScript的构建系统对其进行处理。是否有任何用JavaScript编写的开源JavaScript解析器?在V8或类似的高性能JavaScript实现上运行时,它们是否相当快? 感谢您提供的任何指导! 问题答案: UglifyJS(JavaScript中的JS压缩器/美化器)包含一个完整的JavaScript解

  • 问题内容: 我正在尝试编写一个执行以下操作的函数: 将整数数组作为参数(例如[1,2,3,4]) 创建所有[1,2,3,4]可能排列的数组,每个排列的长度为4 下面的函数(我在网上找到了它)通过将字符串作为参数并返回该字符串的所有排列来实现 我无法弄清楚如何对其进行修改以使其与整数数组一起工作,(我认为这与某些方法在字符串上的处理方式与在整数上的处理方式不同有关,但是我不确定。 ..) 注意:我正

  • 问题内容: 我们可以传递不可变的变量引用作为函数中的参数吗? 例: 问题答案: 由于JavaScript不支持通过引用传递参数,因此您需要将变量设置为对象: 在这种情况下,是对对象的引用。当传递给函数时,该引用将复制到。因此,与内存中的引用相同。改变财产的性质影响财产的性质。 Javascript将始终按值传递函数参数。那只是语言的规范。您 可以在两个函数都本地的作用域中创建,而根本不传递变量。

  • 本文向大家介绍Javascript中的AVL树,包括了Javascript中的AVL树的使用技巧和注意事项,需要的朋友参考一下 AVL树(以发明家Adelson-Velsky和Landis的名字命名)是一种自平衡二进制搜索树。自平衡树是一棵在其子树中执行一些旋转的树,以便可以在左右两侧进行平衡。 这些树木在插入物使树木一侧偏重的情况下特别有用。平衡树使查找时间接近O(log(n)),而完全不平衡的