ES6特性

1. ES6 變量聲明:var let,let 是為了取代var ,但是兼容性不好

var 只有一層作用域,let有多層作用域

{}是為了聲明作用域
    {
        let a = 10;
            var b =15;
        console.log(a,b);
    }
    console.log(b);
    console.log(a);//找不到

2. 常量:不能被重復(fù)定義

const PI = "3.14159265358979323846";

3. 字符串模板

    let name = "張三";
    let str2 = `姓名是${name}年齡是19`;

4. 對(duì)象簡(jiǎn)寫

    var name = "張三";
    var obj1 = {
        name;
        eat(){
         console.log("吃");
        }
     }

5 . 工廠模式:防止變量污染

function Factory(height){
    //obj人類;
    var obj = {};
    obj.height = height;
    obj.name = "張三";
    obj.age = 20;
    obj.hobby = function(){
        console.log("喜歡");
    return obj;
}
var newFactory = Factory("178cm");

6. 箭頭函數(shù)

// ES5寫法(有參函數(shù))
var test = function(str){
    return str;
}

// ES6寫法 必須是匿名函數(shù)
var test = (str) =>str;
console.log(test("hello"));


// ES5寫法(無(wú)參函數(shù))
var test1 = function(){
    var str = "你好";
    return str;
}

// ES6寫法
var test1 = () =>{
    var str = "你好";
    return str;
}

// 作用域和對(duì)象沖突:用小括號(hào)包裹返回對(duì)象,否則當(dāng)成作用域解析,報(bào)錯(cuò)
var test = () =>({
    name:"張三",
    age:17,
});

7. 箭頭函數(shù)的this穿透

var obj = {
    name:"張三",
    age:19,
   // es5 this指向該對(duì)象
    action:function(){
        console.log(this);
        }
    // es6 箭頭函數(shù) this指向windod this向上一層穿透
    action:() => {
          console.log(this);
    }
}

8. 隱藏參數(shù)

// ES5 隱藏參數(shù)
function test(){
    console.log(arguments);
}
test("1111","2222");

// ES6 展開(kāi)運(yùn)算符
function test1(...arr){
    console.log(arr);
}
test1("3333333","44444");

9. 類

class Person{
    //類最開(kāi)始在加載的時(shí)候執(zhí)行
    constructor(name,age){
        this.name = name;
        this.age = age;
    }
    hobby(){
        console.log("喜歡");
    }
    showName(){
        console.log(this.name);
    }
}
var zs = new Person("zs",28);
console.log(zs.age);
zs.showName();
            
//類的繼承
class Student extends Person{
    constructor(name,age){
            //super傳參,繼承屬性
            super(name,age);
    }
    action(){
        console.log("我是action函數(shù)");
    }
}
var newStudent = new Student("李四",222);
console.log(newStudent.name);
newStudent.hobby();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ECMAScript 6(以下簡(jiǎn)稱ES6)是JavaScript語(yǔ)言的下一代標(biāo)準(zhǔn)。因?yàn)楫?dāng)前版本的ES6是在2015...
    自度君閱讀 910評(píng)論 0 6
  • 譯者按: ** 人生苦短,我用ES6**。 原文: Top 10 ES6 Features Every Busy ...
    Fundebug閱讀 447評(píng)論 0 10
  • 下面是10個(gè)ES6最佳特性,排名不分先后: 1.函數(shù)參數(shù)默認(rèn)值 2.模板字符串 3.多行字符串 4.解構(gòu)賦值 5....
    痛心涼閱讀 277評(píng)論 0 0
  • es6相較之前es5,增加了許多新的特性,提高了javascript體驗(yàn),我在es6學(xué)習(xí)和使用的過(guò)程中進(jìn)行了紀(jì)錄。...
    YomonAh閱讀 272評(píng)論 0 2
  • 原文: Top 10 ES6 Features Every Busy JavaScript Developer M...
    簡(jiǎn)書超級(jí)會(huì)員閱讀 232評(píng)論 0 0

友情鏈接更多精彩內(nèi)容