您的位置:首页 > 其它

es6的新特性(一)

2016-09-26 21:06 239 查看
最近项目也慢慢接触到es6了,新东西出来确实方便不少,下班后没事也捣鼓一下,顺便熟悉。

关于函数一个新东西就是函数现在可以直接传递默认参数,在以前的版本如果要想传递默认函数,一般这样处理:

x=x|| "CSDN";
这样写有个问题如果x传递进来的是false之类的,那默认值不就是后面的默认值了吗。
新es6这样来传递默认参数:
<pre name="code" class="javascript">//es6函数传默认参数
function getY(x,y="yang"){

return x+"-"+y;
}


babel-loader翻译es6后的长这个样子:


"use strict";

//es6函数传默认参数
function getY(x) {
var y = arguments.length <= 1 || arguments[1] === undefined ? "yang" : arguments[1];

return x + "-" + y;
}
乍一看好像也没啥,仔细看看还是长见识了, ==》主要的见识是三目运算符。。。
(arguments.length <= 1 || arguments[1] === undefined) ? "yang" : arguments[1];
三目运算符是右结合的。
恩,好了。

恩?要是x默认编码后什么样,应该这样吧var x=arguments.length<=0||arguments[0] === undefined?"y":arguments[0]

代码会陆续上传到github


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: