ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。
let ,const ,这两个的用途与var
类似,都是用来声明变量的,但在实际运用中都有各自的特殊用途。
之前的es5 var 的作用是声明全局作用域和函数作用域,Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,
从而在现有环境执行。这意味着,你可以现在就用 ES6 编写程序,而不用担心现有环境是否支持
*********关于let
这里的let 的作用是声明块级作用域,只有在let声明的代码内有效。
*********关于const
const用于声明的是常量,一旦声明的话,常量的值是不能改变的。
eg:
const dem="粒子";
console.log(dem);
const dem="微分";
cosnole.log(dem);
这样就会报错,找不到声明的常量;
但是如果声明的是数组的形式,可以向里面push添加内容。
*********关于解构destructuring;
ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(destructuring)。
eg:
<script> function br(){ return['面包','蛋糕','苹果']; } let [de,ds,fr]=br(); console.log(de,ds,fr); </script> 结果如下:
还可以使用解构对象语法,,object-destructuring
function br(){ return{de:'面包',ds:'蛋糕',fr:'苹果'}; } let {de:dddd,ds:ffff,fr:vvv}=br(); // 其实是let先声明的变量,然后return返回的是指定的 常量 console.log(dddd,ffff,vvv);
**********关于template string
连接文本和变量
eg:
let des="面包", drink="咖啡" ; // let br="今天的早餐是"+des+'与'+drink+"!"; // 这是原始的写法 let br=`今天的早餐是 ${des}与${drink}!`; // 用反引号(``)来标识起始,用${}`来引用变量,这样就方便很多 console.log(br);
//这是传统的写法,指定类型 function animal(type){ type = type || 'cat'; console.log(type) //这样输出来的是cat } animal() //这是es6的语法:default很简单,意思就是默认值。 function animal(type='cat'){ //这样虽然在webstorm有错误提示,但是仍然是可以执行的 console.log(type)//输出来是cat } animal() es6的rest的语法 function animals(...types){ console.log(types); } animals('cat','dog','fish') // 这样的用法简洁了传统arguments的用法输出的结果: