1. 程式人生 > 資訊 >滴滴副總裁闢謠:絕無可能把國內使用者資料交給美國

滴滴副總裁闢謠:絕無可能把國內使用者資料交給美國

1、let 命令

  1. let用來宣告變數, 只在let命令所在的程式碼塊內有效。
  2. ES6 明確規定,如果區塊中存在let和const命令,這個區塊對這些命令宣告的變數,從一開始就形成了封閉作用域。凡是在宣告之前就使用這些變數,就會報錯。
  3. “暫時性死區”也意味著typeof不再是一個百分之百安全的操作。
  4. 在沒有let之前,typeof運算子是百分之百安全的,永遠不會報錯。
  5. 變數一定要在宣告之後使用,否則就報錯。
  6. ES6 規定暫時性死區和let、const語句不出現變數提升,主要是為了減少執行時錯誤,防止在變數宣告前就使用這個變數,從而導致意料之外的行為。這樣的錯誤在 ES5 是很常見的,現在有了這種規定,避免此類錯誤就很容易了。
  7. 總之,暫時性死區的本質就是,只要一進入當前作用域,所要使用的變數就已經存在了,但是不可獲取,只有等到宣告變數的那一行程式碼出現,才可以獲取和使用該變數。
  8. let不允許在相同作用域內,重複宣告同一個變數。

2、 const 命令

  1. const宣告一個只讀的常量。一旦宣告,常量的值就不能改變。
  2. const的作用域與let命令相同:只在宣告所在的塊級作用域內有效。
  3. const命令宣告的常量也是不提升,同樣存在暫時性死區,只能在宣告的位置後面使用。
  4. const宣告的常量,也與let一樣不可重複宣告。
  5. const實際上保證的,並不是變數的值不得改動,而是變數指向的那個記憶體地址所儲存的資料不得改動。