javascript兼容性:展开运算符 ... 的降级

展开运算符 ... 是一个很好用的ES6新特性,用的好的话,可以节约很多代码。

但是作为ES6特性,它有兼容性问题,而且Babal(在线转码网页)并不会转换展开运算符。

展开运算符大体分为两种用法:展开对象和展开数组。

现在我就来讲讲展开运算符的降级写法。

展开对象:

var a = {
  // 此处省略500字
}
var b = {
  ...a
}

Object.assign 可解。

var a = {
  // 此处省略500字
}
var b0 = {
  // 此处省略500字
}
var b = Object.assign(b0, a)

展开数组:

var arrayA = [/* 很多东西 */]
var arrayB = [/* 很多东西 */]
var last_array = [...arrayA, ...arrayB]

[].concat() 可解。

var arrayA = [/* 很多东西 */]
var arrayB = [/* 很多东西 */]
var last_array = [].concat(arrayA, arrayB)

以上。

原文地址:https://www.cnblogs.com/foxcharon/p/11116182.html

时间: 2024-08-10 05:51:10

javascript兼容性:展开运算符 ... 的降级的相关文章

JavaScript基础之运算符及全面的运算符优先级总结

算数运算符: 加+,减-,乘*,除/,求余%,加加++,减减--, 加减乘除求余运算与数学上的用法完全一样. 不过,加号+还有连接字符串的作用,其他运算符还可以将字符串数字转换成数值型,参见JavaScript中数据类型转换总结中的隐式转换部分. ++,--分为前置和后置,前置表示在使用该变量之前加/减1,后置表示在使用之后加/减1. 逻辑运算符: 1.&&:  与运算,  当与运算的两个内容都为true的时候,结果为true,只要有一个内容为false,结果都是false,&&a

JavaScript逻辑and运算符详解

一.AND详解: 在JavaScript中,逻辑 AND 运算符用双和号(&&)表示. 需要说明的是:逻辑AND运算的运算数可以是任何类型的,不止是Boolean值,如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值. 逻辑AND运算符的运算行为如下: 如果一个运算数是对象,另一个是 Boolean 值,返回该对象. 如果两个运算数都是对象,返回第二个对象. 如果某个运算数是 null,返回 null. 如果某个运算数是 NaN,返回 NaN. 如果某个

JavaScript中“typeof”运算符与“instanceof”运算符的差异

在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了.“typeof”是一元运算符,其后直接跟需要进行类型判断的数据:而“instanceof”是二元运算符,其左侧是需要判断的数据,右侧是用于比较的类型. //typeof是一元运算符: var amount = 108; console.log(typeof amout);//控制台输出“numbe

原生javascript兼容性问题

1.获取样式表里面的width,border color 之类的css(不是行间) 主要是IE6-7支持currentStyle,标准浏览器支持getComputedStyle; 实例:封装函数 复制代码代码如下: function getStyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; } else{ return getComputedStyle(obj,false)[name]; } } 调用:get

javascript的void运算符

javascript的void运算符:void运算符对任何值都会返回undefined.此运算符一般用来避免输出不应该出现的值.实例代码: var a; a=2; document.write(void(a)); 输出结果:undefined . <a href="javascript:void(window.open('about:blank'))">点击打开新窗口</a> 以上代码在网页中经常用到.window.open()方法会返回新窗口对象的引用,并且该

ECMASCript2015 提案 stage-3的对象展开运算符

看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateStatus', 'reset' ]) }, created: function() { this.updateStatus(STATUS.READY); this.reset(); }, components: {Dashboard, Chessboard, Status} } ...mapAction

IE和Firefox的Javascript兼容性总结

长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javascript兼容性: 一.函数和方法差异: 二.样式访问和设置: 三.DOM方法及对象引用: 四.事件处理: 五.其他差异的兼容处理. 一.函数和方法差异 1. getYear()方法 [分析说明]先看一下以下代码: var year= new Date().getYear();document.wr

JavaScript中的运算符

JavaScript中的运算符,JavaScript是具有全范围的运算符,包括算术.逻辑.位.赋值以及其他某些运算符. 计算逻辑位运算赋值杂项 描述符号描述符号描述符号描述符号描述符号 负值-逻辑非!按位取反~赋值=删除deletewww.mlybyby.com 递增++小于<按位左移<<运算赋值oP=typeof 运算符typeof 递减--大于>按位右移>>voidvoid 乘法*小于等于<=无符号右移>>>instanceofinstanc

JavaScript学习系列7 -- JavaScript中的运算符

今天,我们来说一说JavaScript中的运算符,首先我们来讲一讲 一元运算符 JavaScript中的一元运算符有以下几种 1. delete delete 运算符主要用于删除对以前定义的对象属性或者方法的引用, 举个例子如下 var myObj = new Object(); // 这一句和 var myobj = new Object(); 等价 myObj.name = "Luke"; alert(myObj.name); // 输出 "Luke" dele