国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ES6學習筆記:let的使用

Lin_YT / 3314人閱讀

摘要:注意不再是安全的操作不允許重復聲明塊級作用域匿名函數寫法塊級作用域寫法的嚴格模式規定,函數只能在頂層作用域和函數內聲明,其他情況比如代碼塊循環代碼塊的聲明都會報錯。

塊級作用域
for(var i = 0; i < 10; i++){}
console.log(i); //10

for(let j = 0; j < 10; j++){}
console.log(j); //"ReferenceError: j is not defined

疑問: https://segmentfault.com/q/1010000004643248

不存在變量提升
console.log(a); // 輸出undefined
console.log(b); // 報錯ReferenceError
console.log(c); // 報錯ReferenceError
var a = 2;
let b = 2;

注意區別undefinedReferenceError

暫時性死區(TDZ)

只要進入當前塊級作用域,所使用的變量已經存在了,但在聲明之前都屬于死區,不可進行操作。

注意: typeof不再是100%安全的操作

typeof x; // ReferenceError
typeof y  // undefined
let x;
不允許重復聲明
let x = 1;
let x; // "SyntaxError: Identifier "x" has already been declared

var y = 2;
var y = 3; // y = 3
塊級作用域
// 匿名函數寫法
(function () {
  var tmp = ...;
  ...
}());

// 塊級作用域寫法
{
  let tmp = ...;
  ...
}

ES5的嚴格模式規定,函數只能在頂層作用域和函數內聲明,其他情況(比如if代碼塊、循環代碼塊)的聲明都會報錯。

// ES5
"use strict";
if (true) {
  function f() {} // 報錯
}

ES6由于引入了塊級作用域,這種情況可以理解成函數在塊級作用域內聲明,因此不報錯,但是構成區塊的大括號不能少

// 報錯
"use strict";
if (true)
  function f() {}
聲明的全局變量不再是window的屬性
"use strict";
var a = 1;
console.log(window.a) // 1

let b = 1;
console.log(window.b) // undefined

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/79008.html

相關文章

  • ES6學習筆記之模塊

    摘要:但是一直沒有在語言層面支持模塊,直到的出現。相信在不久的將來,的模塊一定會全面取代和。的模塊提供了個新的語法,分別是和。就是模塊用來對外暴露數據的接口,具體用法如下。 本文同步自我得博客:http://www.joeray61.com 簡介 在當今的Javascript程序中,模塊的作用不言而喻,目前廣泛應用的主要有AMD(瀏覽器端)和CommonJS(服務器端)。但是Javascri...

    Airmusic 評論0 收藏0
  • 珠峰培訓ES6學習筆記1

    摘要:消除字符串頭部空格消除尾部空格從頭部補全字符串從尾部補全字符串 let和const var關鍵字定義變量的特點: 可以重復定義 不能定義常量 不支持塊級作用域 let的特點 不可以重復定義 變量不能提升,在變量定義之前,不能使用 在大括號當中定義的變量(塊級作用域中),在作用域外無法訪問 解決一些ES5當中需要閉包實現的功能,比如:每隔1秒循環輸出一個當前的值 const的特點...

    番茄西紅柿 評論0 收藏0
  • ES6學習筆記一:let、const、塊級作用域

    摘要:一新增了命令和一樣都是用來聲明標量,但所聲明的變量只在聲明的代碼塊內及聲明之后有效命令適合在循環中使用在循環內有效在全局內有效命令暫時性死區大括號中的使用了聲明,所以在大括號中暫時只能在聲明之后有效不允許在同一作用域內重復聲明變量,因此不能 一、ES6新增了let命令 let 和 var 一樣都是用來聲明標量,但let所聲明的變量只在【聲明的代碼塊內】及【聲明之后】有效 { c...

    YuboonaZhang 評論0 收藏0
  • ES6 學習筆記(一)let,const和解構賦值

    摘要:另外對于已經聲明的變量進行解構賦值時,要非常小心。因此在行首加,將其強制轉化為表達式執行。由于和無法轉為對象,所以對它們進行解構賦值,都會報錯。 let和const let和const是es6新增的兩個變量聲明關鍵字,與var的不同點在于: (1)let和const都是塊級作用域,在{}內有效,這點在for循環中非常有用,只在循環體內有效。var為函數作用域。 (2)使用let和con...

    iOS122 評論0 收藏0

發表評論

0條評論

Lin_YT

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<