用 ES6 暢快地寫 JavaScript
標簽:
JavaScript
ES6 提供的许多新特性。用这些新特性,我们能在不降低代码可读性与维护性的基础上畅快地写 JavaScript~
将数组的内容 * 2
以前我们这么写
[1, 2, 3].map(function(each){
return each * 2;
});
用 ES6 只需这样写
[1, 2, 3].map(each=> each * 2);
// 或
[1, 2, 3].map((each)=> each * 2);
// 或
[1, 2, 3].map((each) => {
return each * 2;
});
默认参数
以前我们这么写
var introSomeBody = fuction(name){
name = name || 'Jack';
}
用 ES6 只需这样写
var introSomeBody = (name = 'Jack') => {
}
不定参数
数字求和
以前我们这么写
var sumFn = function(){
var nums = [].slice.call(arguments);
var sum = nums.reduce(function(prev, curr){
return prev + curr;
}, 0);
return sum;
}
用 ES6 只需这样写
var sumFn = (...nums) => {
return nums.reduce((prev, curr)=>{
return prev + curr;
}, 0);
}
解构(Destructuring)赋值
交换两个变量的值
以前我们这么写
var temp = a;
a = b;
b = a;
用 ES6 只需这样写
[a, b] = [b, a]
参数赋值
以前我们这么写
var introSomeBody = fuction(options){
var name = options.name || 'Jack';
var age = options.age || 18;
console.log('I am %s, I am %d years old', name, age);
}
用 ES6 只需这样写
var introSomeBody = ({name = "Jack", age = 18}) => {
console.log('I am %s, I am %d years old', name, age);
}
模板字符串
拼多行字符串
以前我们这么写
var data = {
name: '新闻',
news: {
name: 'Bable升级到6啦',
content: 'Bable在某年某月升级到6啦,哈哈哈'
}
};
var html = (
'<div class="box">' +
'<h2 class="box-header">${name}</h2>' +
'<div class="box-body">' +
'<h3>${newsName}<h3>' +
'<div>${newsContent}</div>' +
'</div>' +
'</div>').replace('${name}', data.name)
.replace('${newsName}', data.news.name)
.replace('${newsContent}', data.news.content);
用 ES6 只需这样写
var data = {
name: '新闻',
news: {
name: 'Bable升级到6啦',
content: 'Bable在某年某月升级到6啦,哈哈哈'
}
};
var html = `
<div class="box">
<h2 class="box-header">${data.name}</h2>
<div class="box-body">
<h3>${data.news.name}<h3>
<div>${data.news.content}</div>
</div>
</div>
`;
想了解更多 ES6 相关知识,请阅读
- ECMAScript 6入门 阮一峰老师写的。
- 深入浅出 ES6 的中文版 原文。
- ES6 Katas 通过写ES6的代码来学习ES6。修复失败的测试来学习这些知识。
本文遵守创作共享CC BY-NC-SA 4.0协议
网络平台如需转载必须与本人联系确认。
點擊查看更多內容
34人點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
