ES6学习笔记(二):=>和>>>和...
1.=>
=>是es6语法中的arrow function
举例 :
(x) => x + 6相当于:
function(x){ return x + 6; }
2.>>>
>>>是无符号移位运算符
举例:100>>>2相当于:
先将100转换成二进制01100100,向右移两位后得00011001,再转换回十进制,得25
3.(...):扩展运算符
它可以在函数调用/数组构造时,将数组表达式或者string在语法层面展开;还可以在构造字面量对象时将对象表达式按照key-value的方式展开
说白了就是把衣服脱了,不管是大括号([])、花括号({}),全部脱掉!
- 复制时
//数组的复制 var arr1 = ['hello'] var arr2 =[...arr1] arr2 // ['hello'] //对象的复制 var obj1 = {name:'chuichui'} var obj2 ={...arr} ob12 // {name:'chuichui'}
- 合并时
//数组的合并 var arr1 = ['hello'] var arr2 =['chuichui'] var mergeArr = [...arr1,...arr2] mergeArr // ['hello','chuichui'] // 对象分合并 var obj1 = {name:'chuichui'} var obj2 = {height:176} var mergeObj = {...obj1,...obj2} mergeObj // {name: "chuichui", height: 176}
- 字符转数组
var arr1 = [...'hello'] arr1 // ["h", "e", "l", "l", "o"]
- 函数传参
function f(v,w,x,y,z){ } var args = [2,3] f(1,...args,4,...[5])