重学 ES6

本文重新探讨了ES6的重要特性,包括块级作用域变量(let, const)、模板字符串、padStart()和padEnd()方法、解构赋值、增强型循环、散布运算符与rest参数、includes()方法、import与export模块导入导出、Class类、Promise与async/await、Map与Set数据结构。这些特性显著提升了JavaScript的开发效率和代码质量。" 40457667,1375709,虚拟机崩溃后的数据恢复之旅,"['虚拟机', '数据恢复', 'Linux系统', '故障排查', 'LVM']
摘要由CSDN通过智能技术生成

重学 ES6

块级作用域变量

let word1 = 'hello'
const word2 = 'world'

let 用于声明变量 const 用于声明常量,常量一旦声明便无法更改

使用 let 和 const 声明的变量是有块级作用域(函数体,判断体,循环体等)

因此建议使用 es6 语法中 let const 来定义变量

模板字符串代替字符串拼接

const a = 'hello'
const b = 'world'

// in ES5
const c = a + ' ' + b 

// in ES6 used 模板字符串
const d = `${a} ${b}`

padStart()、padEnd()

新的字串填充方法,可以从start位置或是end位置,开始填充到指定数字长度,被填充的内容为第二个参数。

let astring = 'moment'
console.log(astring.padStart(10,'m'))
// 'mmmmmoment'

console.log('abc'.padStart(10, "foo"))
// "foofoofabc"

console.log('abc'.padEnd(10, "foo"))
// 'abcfoofoof'

解构赋值

// in ES5
let firstName = personalInformation.firstName
let lastName = personalInformation.lastName
let city = personalInformation.city

// in ES6 used 对象解构赋值
let { firstName: fn, lastName: ln, city: ct } = personalInformation

从 personalInformation 对象中读取 firstName , lastName , city 几个属性,并用 fn , ln , ct 几个别名作为解构赋值后新变量的名字,如果未声明别名,默认使用 firstName , lastName , city 作为解构后的变量名

// in ES6 used 数组解构赋值
let [firstName, lastName, city] = ['Dylan', 'Israel', 'Austin']

使用数组解构赋值时默认为按照数组顺序,逐一读取

加强循环

最早的数组遍历方式

var a = ["a", "b", "c"];
for(var index = 0;index < a.length;index++){
  console.log(a[index]);
}

自从ES5发布以后,可以用内建的forEach来遍历数组

var a = ["a", "b", "c"];
a.forEach(function(element) {
    console.log(element);
});

推荐在循环普通对象属性的时候,使用 for…in 在遍历数组的时候的时候使用 for…of

for…in循环出的是key ,for…of循环出的是value

for…of 不能循环普通的对象 需要通过和 Object.keys() 搭配使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值