扩展运算符
来源:互联网 发布:windows ntp客户端配置 编辑:程序博客网 时间:2024/06/07 17:13
1写法
:…三个点,主要是用来将数组幻化为用逗号分隔的参数序列。
2.应用
合并数组
与解构赋值结合
如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错。
将字符串转为真正的数组
可以将类似数组的对象转为真正的数组
Map和Set结构,Generator函数
3.原理
扩展运算符内部调用的是数据解构的Iterator接口,因此只要具有Iterrator接口的对象,都可以使用扩展运算符。
ES6中本身就具有Iterator接口的有:数组、类似数组的对象、Map和Set。如果对没有iterator接口的对象使用扩展运算符,将会报错。
(1)对一般的对象添加Iterator接口。
let obj = { data:['hello','world'], [Symbol.iterator](){ const self = this; let index = 0; return { next(){ if(index < self.data.length){ return { value:self.data[index++], done:false } }else{ return { value:undefined, done:true } } } }; }};for(var val of obj.data){ console.log(val); //hello //world}
(2)对类似数组的对象使用Iterator接口
let iterator = { 0:'a', 1:'b', 2:'c', length:3, [Symbol.iterator]:Array.prototype[Symbol.iterator]};for(let item of iterator){ console.log(item); //a //b //c}
阅读全文
0 0
- + - * /运算符扩展
- 扩展赋值运算符
- JavaScript扩展运算符
- JavaScript 扩展运算符
- 扩展运算符
- ES6-数组的扩展-扩展运算符
- 学习js扩展运算符
- es6的扩展运算符
- ES6-对象的扩展-对象的扩展运算符
- Java中的扩展运算符盲区
- ES6(ECMAScript 6 ) 解构 扩展运算符
- es6 扩展运算符 三个点(...)
- es6 javascript对象的扩展运算符
- ES6 rest参数和扩展运算符
- es6扩展运算符 三个点(...)
- es6 扩展运算符 三个点(...)
- es6 扩展运算符 三个点(...)
- es6 扩展运算符 三个点(...)
- 2816:红与黑
- Django学习(基础入门下篇)
- 用phantomjs在linux中截图,发现图片中的中文不显示,为一堆框框,解决如下:
- 隐藏系统自带标题栏无效问题的解决
- EXCHANGE 2016 删除默认数据库
- 扩展运算符
- Java开发微信公众账号支付接口
- cocos2dx 入口类AppDelegate.cpp及屏幕适配
- oracle 用户管理(二)
- GitLab 安装
- 【算法入门经典】7.4回溯法【八皇后问题】
- python迭代器与生成器
- python之中一些问题
- 金蝶KIS专业版V14.1销售毛利润明细表增加新列和修复报表成本算法