长风破浪会有时
直挂云帆济沧海

es6的新特性

不一样的变量声明,let和const。ES6推荐使用let声明局部变量,相比之前的var(无论声明在何处,都会被视为声明在函数的最顶部)


var x = '全局变量';
{
  let x = '局部变量';
  console.log(x); // 局部变量
}
console.log(x); // 全局变量

  let表示声明变量,而const表示声明常量,两者都为块级作用域;const 声明的变量都会被认为是常量,意思就是它的值被设置完成后就不能再修改了;

      如果const的是一个对象,对象所包含的值是可以被修改的。

2.模板字符串,可以由之前的”+x+”改成${x};

3.箭头函数

不需要 function 关键字来创建函数

省略 return 关键字

继承当前上下文的 this

var add = function (a, b) {
    return a + b;
    };
    // 使用箭头函数
    var add = (a, b) => a + b;// ES5
    
    [1,2,3].map((function(x){
    return x + 1;}).bind(this));
    
    // 使用箭头函数[1,2,3].map(x => x + 1);作者:阿锋哥
链接:https://www.afengge.net


4.函数参数默认值设置

text = 'default';
    function printText(text) {
        text = text || 'default';
        console.log(text);
    }
    //下面为es6新特性
    function printText(text = 'default') {
        console.log(text);
    }
    printText('hello'); // hello
    printText();// default

5. …操作符

function foo(x,y,z) {
    console.log(x,y,z);
}
let arr = [1,2,3];
foo(...arr); // 1 2 3

function foo(...args) {
      console.log(args);
}
foo( 1, 2, 3, 4, 5);

6.  for…of 和 for…in

let letters = ['a', 'b', 'c'];
letters.size = 3;
for (let letter of letters) {
  console.log(letter);//a,b,c
}
 let stus = ["Sam", "22", "男"];
 for (let stu in stus) {
   console.log(stus[stu]);//'Sam','22','男'
  }

7.Class语法

class Phone {
  constructor() {
    console.log("I'm a phone.");
  }}
 class MI extends Phone {
  constructor() {
    super();
    console.log("I'm a phone designed by xiaomi");
  }}
 let mi8 = new MI();//'I'm a phone.','I'm a phone designed by xiaomi';
赞(1) 打赏
未经允许不得转载:阿锋哥前端开发经验分享 » es6的新特性
分享到: 更多 (0)

几百块就能做营销型企业网站?

查看详情

可怜可怜作者吧

支付宝扫一扫打赏

微信扫一扫打赏