ES6基本语法入门

一、用let代替var声明变量

    ES5中,我们可以在代码中任意位置声明变量,甚至可以重写已经声明的变量,ES6引入了一个let关键字,它是新的var。

let language = 'javascript';
let language = 'zj';        //此处会报错
console.log(language);

ES6基本语法入门_第1张图片

因为同一作用域中let已经声明过了,所以再次声明会报错


二、常量

ES6还引入了const关键字,和let用法一样,唯一的区别就是,const变量是只读的


三、模板字符串拼接

用反引号拼接字符串

let language = 'javascript';
console.log(language);

let lan = `此处写字符串  ${language}`;
console.log(lan)    //此处写字符串  javascript

只要把变量写在${}里面就好了;模板字符串也可以识别空格,可可以用于多行的字符串,再也不用写\n了。


四、箭头函数

let circle = (x) => {
    const PI = 3.14;
    let area = PI * r * r;
    return area;
}

可以省略掉关键字function,如果函数只有一条语句,可以连关键字都省略掉

let circle2 = (x) => 3.14 * r * r;


五、函数参数的默认值

let sum  = (x = 1, y = 2, z = 3) => x + y + z;
console.log(sum());

可以声明函数参数的默认值


六、声明展开和剩余参数

ES6展开操作符 ... 

let params = [1,2,3];
console.log(...params);  //1 2 3

let pro = {
    one:0,
    two:1,
    three:2,
};
console.log({...pro});  //{ one: 0, two: 1, three: 2 }

七、数组解构

    var [a, b] = ['x', 'y'];

以上代码和下面的代码效果是一样的

a = 'x';

b = 'y';

数组解构也可以进行值的互换

[x, y] = [y, x];


八、使用面向对象biancheng

//ES5语法
function Book (title, page, isbn) {
    this.title = title;
    this.page = page;
    this.isbn = isbn;
}
Book.prototype.printTitle = function () {
    console.log(this.title);
};

//ES6语法
class Desk {
    constructor (title, pages, isbn){
        this.title = title;
        this.page = page;
        this.isbn = isbn;
    }
    printIsbn () {
        console.log(this.isbn);
    }
}

ES6只需要使用class关键字,声明一个有constructor函数和诸如printIsbn等其他函数的类;

我们可以用extends扩展一个类并继承它的行为

//ES6语法
class ITDesk extends Desk  {
    constructor (title, pages, isbn){
        this.title = title;
        this.page = page;
        this.isbn = isbn;
    }
    printIsbn () {
        console.log(this.isbn);
    }
}


欢迎关注我的个人技术公众号!javascript艺术


你可能感兴趣的:(ES7/ES6,javascript)