1. 程式人生 > 程式設計 >javascript es6的常用語法你知道嗎

javascript es6的常用語法你知道嗎

目錄
  • 1.const常量標識
    • 1.不允許重複宣告賦值
    • 2.塊級作用域
    • 3.無變數提升
    • 4.dead zone (死區)
    • 5.let or cosnt
  • 總結
    • 1.不允許重複宣告賦值
    • 2.塊級作用域
    • 3.無變數提升
    • 4.dead zone (死區)
    • 5.let or cosnt
  • 總結

    1.const常量標識

    1.不允許重複宣告賦值

    const args='kenneth'
    const args="kenneth"
    

    image.png

    es5實現宣告常量

    Object.defineProperty(window,"args",{
    value: ' this is es5',writable: false
    })
    

    2.塊級作用域

    if(true){
    const args=123
    }
    console.log(args)
    

    image.png

    3.無變數提升

    console.log(args)
    const args=1
    

    image.png

    var args=123
    console.log(window.args)      //123
    
    cosnt  args1=456
    console.log(window.args1)    //cosnt不在window中
    

    4.dead zone (死區)

    ihttp://www.cppcns.comf(true){
    console.log(infor)
    const infor=123
    }
    

    專屬報錯:

    image.png

    5.let www.cppcns.comor cosnt

    const obj={
     id:1,age:18,name:'aaa'
    }
    obj.age=19       // cosnt 建立一個物件,物件中的屬性可以被改客棧
    變 //解決:凍結物件,一個被凍結的物件再也不能被修改 Object.freeze() const obj2={ id:2,name:'bbb',age:20,food:['banana','apple'] } Object.freeze(obj2) obj2.age=21 //被Object.freeze()凍結後,不可以改變 obj2.foods[1]='pear' //可以改變 freeze只能凍結根層 巢狀引用型別需要巢狀遞迴 //實現建立引用型別: function deepFreeze(obj) { Object.freeze(obj); (Object.keys(obj) || []).forEach((key) => { let innerObj = obj[key] if (typeof innerObj === 'object') { deepFreeze(innerObj); http://www.cppcns.com
    } } ) } const tempObj = { id: 23,name: '1',food: ['banana','apple'] } deepFreeze(tempObj)

    總結

    本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!

    1.const常量標識

    1.不允許重複宣告賦值

    const args='kenneth'
    const args="kenneth"
    

    image.png

    es5實現宣告常量

    Object.defineProperty(window,writable: false
    })
    

    2.塊級作用域

    if(true){
    const args=123
    }
    console.log(args)
    

    image.png

    3.無變數提升

    console.log(args)
    const args=1
    

    image.png

    var args=123
    console.log(window.args)      //123
    
    cosnt  args1=456
    console.log(window.args1)    //cosnt不在window中
    

    4.dead zone (死區)

    if(true){
    console.log(infor)
    const infor=123
    }
    

    專屬報錯:

    image.png

    5.let or cosnt

    const obj={
     id:1,name:'aaa'
    }
    obj.age=19       // cosnt 建立一個物件,物件中的屬性可以被改變
    //解決:凍結物件,'apple']
    }
    Object.freeze(obj2)
    obj2.age=21                 //被Object.freeze()凍結後,不可以改變    
    obj2.foods[1]='pear'        //可以改變  freeze只能凍結根層 巢狀引用型別需要巢狀遞迴
    
    //實現建立引用型別:
        function deepFreeze(obj) {
                Object.freeze(obj);
                (Object.keys(obj) || []).forEach((key) => {
                    let innerObj = obj[key]
                    if (typeof innerObj === 'object') {
                        deepFreeze(innerObj);
                    }
                }
                )
            }
    
            const tempObj = {
                id: 23,'apple']
            }
            deepFreeze(tempObj)
    

    總結

    本篇文章就到這裡了,希望能夠給你帶來幫助,也希望您能夠多多關注我們的更多內容!