js-ES6的那些新鲜事儿-3

1.箭头函数

参数用括号()括气来,一个参数直接写name=>{},

函数体用大括号{}括气来,如果省略了{},意味着表达式前面有一个隐含的return

箭头函数总是函数表达式,不存在箭头函数声明,他是匿名函数,没法用于递归,事件绑定

使用箭头函数作为回调,this绑定不是动态的是,箭头函数内的this是从包围的作用域中继承而来的this,还有argument,super,new.target都是一样

推荐使用的情况:

1.函数内只有一个return语句,内部没有this引用,切没有递归,事件绑定/解绑定

2.如果有一个内层函数表达式,依赖包含他的函数中调用var self=this,或.bind(this)改变this指向,那么内层函数用箭头函数

3.内层函数表达式依赖封装函数中某些像var args=Array.prototype.slice.call(arguments)来保证arguments的词法复制,内层函数可以用箭头函数

ps:箭头函数是this,arguments是,super的词法绑定

function user(name,age){
    console.log(name.age)
    var say=`My name is ${name},i am ${age} years old!`
    return say;
}
//箭头函数
(name,age)=>{
    console.log(name.age)
  var say=`My name is ${name},i am ${age} years old!`
  return say;
}
2.for of循环,遍历迭代器
var a=['a','b','c'];
//for in遍历的是下标
for(var i in a){
    console.log(i);  //0 1 2
}
//for of遍历的是值
for(var i of a){
    console.log(i);  //a,b,c
}

js中默认为iterable的有:Arrays,Strings,Generators,Collections,TypedArrays

3.正则表达式

js字符串通常被解释为16位字符序列,这些字符对应基本多语言平面(BMP),那些扩展字符会被当成2个独立的字符来匹配

在es6中,u标识符表示正则表达式用unicode(utf-16)字符来解释处理字符串,把扩展字符当成单个实体匹配

3.二进制(0b),八进制(0o),十六进制(0x)
Number("11110"); //30
Number("36");    //30
Number("30");   //30
Number("1e");   //30
var a=30;
a.toString('2');//"11110"
a.toString(8);//"36"
a.toString();//"30"
a.toString(16);//"1e"
4.unicode(0x0000~0xFFFF),4位

unicode是基于BMP的,在BMD之外还有许多字符,范围知道0x10FFFF,6位

var a="\uD834\uDD1E";//
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值