什么是ES6
ES6是ECMA Script 6.0的简称, 就是语言最新的标准, 发布与15年左右
ES6 主要是为了解决 ES5 的先天不足,比如 JavaScript 里并没有类的概念,但是目前浏览器的 JavaScript 是 ES5 版本,大多数高版本的浏览器也支持 ES6,不过只实现了 ES6 的部分特性和功能。
ES5的目标是让js语言成为能支持去编写大型复杂的应用语言, 成为企业级开发语言。
ES6新增的功能:
1.变量声明const和let
const和let与var不同,新的变量声明方式带来了一些不一样的特性,其中最重要的两个特性就是提供了块级作用域与不再具备变量提升。
function fun() {
if(false) {
let str = '123';
} else {
console.log(str);//undefined
}
}
说白了只要在{}花括号内的代码块即可以认为 let 和 const 的作用域
const声明的变量必须提供一个值,而且会被认为是常量,意思就是它的值被设置完成后就不能再修改了。
const name = 'zhangsan';
name = 'lishi';//会报错
2.字符串
将表达式嵌入字符串中进行拼接
//ES5
var name = 'zhangsan';
console.log('hello' + name);
//es6
const name = 'zhangsan';
console.log(`hello ${name}`);
ES6提供的一些字符串方法:
在这我就只列举几个
// 1.includes:判断是否包含然后直接返回布尔值
const str = 'hahay'
console.log(str.includes('y')) // true
// 2.repeat: 获取字符串重复n次
const str = 'he'
console.log(str.repeat(3)) // 'hehehe'
3.箭头函数
箭头函数是不需要 function 关键字来创建函数,会省略 return 关键字,也会继承当前上下文的 this 关键字
// es5
var fun= function() {
var a = 20;
var b = 30;
return a + b;
}
// es6
const fun= () => {
const a = 20;
const b = 30;
return a + b;
}