ES6-3 let进阶、const、全部变量与顶层对象
生活随笔
收集整理的這篇文章主要介紹了
ES6-3 let进阶、const、全部变量与顶层对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一 const
1. 定義常量
1.1 引入模塊時
const test = require('http')1.2 定義時必須賦值(初始化)且不可修改
const a; // Uncaught SyntaxError: Missing initializer in const declaration- 若賦值為原始值,不可修改
- 若賦值為引用值,對于的地址不可修改,但指向空間的內容是可變的
Object.freeze(obj) 可以讓obj對象/數組凍結,不被修改
const obj = {} function myFreeze(obj) {if (obj && typeof obj === 'object') {// 要排除nullObject.freeze(obj)for (let k in obj) {myFreeze(obj[k])}} } myFreeze(obj) obj.n1 = 10; obj.n2 = {test: 1 }; obj.n2 = {test: 2 }; console.log(obj) // {} const http = require('http') // 從源頭解決:require返回的是實例化的對象,無論怎么修改http,都不影響構造器1.3 暫時性死區(qū)
1.4 有塊級作用域
1.5 不能提升
1.6 不能重復聲明
二 頂層對象window
- 不用關鍵字聲明的變量將掛載到window上
- 用let/const聲明的變量,不屬于頂層變量,解決了以上es5不合理的現象
總結
以上是生活随笔為你收集整理的ES6-3 let进阶、const、全部变量与顶层对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android手机怎么root,安卓手机
- 下一篇: mysql low_case_MySQL