张蕾的技术博客Web前端之路让前端飞

es6解读1: let,const和symbol

2017-07-13  本文已影响124人  cd72c1240b33

let 和 const

作用域的概念

+ 全局作用域
+ 函数作用域
+ 块作用域

如何使用let和const

function last() {
            const k={
                a:1
            };
            k.a=123;
            console.log(k)
}

2、声明的时候,必须赋值;
3、const也有块作用域的概念;

Symbol

    let a1=Symbol.for('abc');
    let obj={
        [a1]:'123',
        'abc':345,
        'c':456
    };
    console.log(obj)
    for(let [key,value] of Object.entries(obj) ){
        console.log('let of',key,value)
    }
    ```

  + 解决办法:通过以下代码可以取到Symbol的值;Object.getOwnPropertySymbols可以拿到Symbol对象的值;

Object.getOwnPropertySymbols(obj).forEach(function (item) {
    console.log(obj[item])
})
   + 返回了所有key和value值;通过es6最增的Reflect.ownKeys(obj)

Reflect.ownKeys(obj).forEach(function (item) {
    console.log(item,obj[item])
});//返回了所有key和value值;
```
上一篇下一篇

猜你喜欢

热点阅读