此只为ES6学习自我记录,不喜勿喷!~~(基于浏览器支持ES6的前提下)
1.变量和常量
以前定义变量使用 var,属于函数作用域,并且没有常量的定义,也就是说 只要是var定义的都是变量,都可以进行修改;
而在es6中新增了let 和 const,属于块级作用域。
函数作用域有什么弊端了? var定义的变量 会有一个提升的过程,也就是说,不管你定义到什么地方,最后都会提升到函数作用域的顶端,举个例子:
function test(){
console,log(a);
var a=1;
}
这个函数运行并不会报错,只会输出undefined;
而如果是用let定义的变量,就会报错,举个例子:
function test(){
console.log(a);
let a=1;
}
test();
输出异常
当使用const定义常量时,此常量不允许修改,举个例子:
const a=3.14;
a=314;
输出异常
2.字符串
主要讲两个地方:一个是新增includes(), startsWith(), endsWith(),一个是增加模板字符串。
- includes():返回布尔值,表示是否找到了参数字符串。
- startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
- endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
不多说,意思懂就好了,主要讲模板字符串,什么叫模板字符串,其实就是两个反单引号 ` `,
重要性:以前都是用拼接的方式,而现在直接用模板字符串即可,举个例子:
1.拼接字符串
var str = '<div><p>'+a+'</p>'+
'<p>'+b+'</p>'+
'</div>';
2.模板字符串
var str=`<div>
<p>${a}</p>
<p>${b}</p>
</div>`
${a},${b}表示插入变量