日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ES6笔记 -- 变量/语句声明

發(fā)布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ES6笔记 -- 变量/语句声明 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

關(guān)于變量聲明

  • let的作用是聲明一個作用域為某個代碼塊({})的變量(稱為塊級作用域)
  • let不允許變量提升(注: 變量的使用在聲明之前)
  • 塊級作用域里的let命令之前的區(qū)域稱之為'暫時性死區(qū)', 這意味著死區(qū)內(nèi)即使是typeof操作也會出錯
  • let不允許在相同的作用域內(nèi)重復聲明同一個變量, 值得一提的是, for循環(huán)語句的循環(huán)體是獨立的子作用域, 而循環(huán)語句部分(括號內(nèi)語句)是其父作用域, 這意味著循環(huán)語句和循環(huán)體內(nèi)可以定義相同名稱的變量

關(guān)于函數(shù)聲明

function f () { console.log('outside') }(function () {if (false) { function f () { console.log('inside') } }f() // inside }())
  • ES5 中的函數(shù)聲明只允許在全局或函數(shù)作用域內(nèi), 但是瀏覽器為了兼容舊代碼, 允許在猶如if的代碼塊內(nèi)聲明, 此時, 函數(shù)將會被提升到函數(shù)頭部, 相當于
function f () { console.log('outside') }(function () {function f () { console.log('inside') }if (false) { }f() // inside}())
  • 而在 ES6 中則相當于(暫時不提原因)
function f () { console.log('outside') }(function () {var f = undefinedif (false) { function f () { console.log('inside') } }f() // error}())
  • 要想 ES6 在塊作用域內(nèi)聲明函數(shù)需使用let聲明函數(shù)表達式, 如
{if (false) {let f = function () {}}}// 注意, 代碼塊必須在大括號內(nèi)if (false) let f = function () {} //error

關(guān)于常量聲明

  • 使用const命令聲明一個只讀的常量, 一旦聲明, 常量的值就不能改變
  • 由于常量不能改變, 所以在聲明時必須初始化
  • const命令也存在塊級作用域
  • const命令聲明的常量也存在暫時性死區(qū)
  • const命令聲明的常量同樣不能重復聲明
  • 聲明對象/數(shù)組常量時, 需要注意的是, 對象的指針地址不能改變(即該常量不能指向新的對象), 但是其對象本身是可以改變的, 如添加和刪除屬性,如果要將對象凍結(jié), 則使用Object.freeze方法, 對象本身和屬性都被凍結(jié)

頂層對象與全局變量

  • 瀏覽器環(huán)境下, 頂層對象是window, node 中頂層對象是global對象.
  • ES5 中, 頂層對象和全局變量是等價的, 這種情況下, 會出現(xiàn)很多問題, 比如頂層對象的屬性導出可以讀寫, 這不利于模塊化編程.
  • ES6 規(guī)定 let, const, class命令聲明的全局變量不再等于頂層對象
  • ES5 頂層對象還存在一個問題, 由于各種環(huán)境中(瀏覽器, Web Woker, Node等)的頂層對象不統(tǒng)一, 而使用this變量又存在局限性(如Node和ES6模塊中, this返回的是當前模塊), 在想取得頂層對象時需要添加判斷條件(這里不贅述)

轉(zhuǎn)載于:https://www.cnblogs.com/xvvx/p/10273986.html

總結(jié)

以上是生活随笔為你收集整理的ES6笔记 -- 变量/语句声明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。