成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ES6學(xué)習(xí)摘要(01)(新人學(xué)習(xí))

dmlllll / 1720人閱讀

摘要:入門一前言由于最近本人在學(xué)習(xí),做一些筆記能夠更好的熟悉,就趁此機(jī)會來寫一篇關(guān)于的新人學(xué)習(xí)摘要吧。的作用域與命令相同只在聲明所在的塊級作用域內(nèi)有效。塊級作用域新增方式和實際上為新增了塊級作用域。同時,函數(shù)聲明還會提升到所在的塊級作用域的頭部。

ECMAScript6/ES6 入門 一、前言

由于最近本人在學(xué)習(xí)ES6,做一些筆記能夠更好的熟悉,就趁此機(jī)會來寫一篇關(guān)于ES6的新人學(xué)習(xí)摘要吧。希望大佬可以給出一些意見,也希望和我一樣的新人能更好更快的了解和熟悉ES6。
首先在這邊我要感謝阮大大~有這么好的入門教程(搬運(yùn)工,部分內(nèi)容不講述)。
其次注明本文只用于本人和其他新手了解熟悉ES6,非其他用途。
下面就開始我們簡單的學(xué)習(xí)吧~

二、瀏覽器兼容性

不多贅述,ES6兼容性

三、let和const命令

在學(xué)習(xí)let和const之前,我們先來了解一下塊級作用域,塊級作用域主要適用兩種場景,一種是內(nèi)層變量覆蓋外層變量;第二種場景是用來計數(shù)的循環(huán)變量泄露為全局變量。

// 第一種場景
var tmp = new Date();

function f() {
  console.log(tmp);
  if (false) {
    var tmp = "hello world";
  }
}

f(); // undefined

// 第二種場景
var s = "hello";

for (var i = 0; i < s.length; i++) {
  console.log(s[i]);
}

console.log(i); // 5

塊級作用域能很好的解決這兩方面的問題,如何增加塊級作用域呢?等我們學(xué)習(xí)完let和const再來詳述。
1、let和var一樣,用來聲明變量,差別在于let申明的變量的作用域只針對于let命令所在的代碼塊內(nèi)。

{
  let a = 10;
  var b = 1;
}

a // ReferenceError: a is not defined.
b // 1

在代碼塊中我們分別以let和var申明了a,b兩個變量,在打印a,b兩個變量的時候發(fā)現(xiàn)用var聲明的變量b的值是能正確打印的,但是用let申明的a變量報錯,這表面兩者申明的作用域不同。

用let申明的變量無變量提升

// var 的情況
console.log(foo); // 輸出undefined
var foo = 2;

// let 的情況
console.log(bar); // 報錯ReferenceError
let bar = 2;

上面的代碼中同樣在聲明變量前打印出該變量,var申明的變量輸出undefined,而let報錯,即變量bar不存在,所以使用let一定要在申明后進(jìn)行使用。

暫時性死區(qū)

暫時性死區(qū)是什么意思呢,簡單來說就是從一開始就形成了封閉作用域。凡是在聲明之前就使用這些變量,就會報錯。

var tmp = 123;

if (true) {
  tmp = "abc"; // ReferenceError
  let tmp;
}

不允許重復(fù)聲明

let不允許在相同作用域內(nèi),重復(fù)聲明同一個變量。

// 報錯
function func() {
  let a = 10;
  let a = 1;
}

2、const聲明一個只讀的常量。一旦聲明,常量的值就不能改變。

const聲明的變量不得改變值,這意味著,const一旦聲明變量,就必須立即初始化,不能留到以后賦值。

const的作用域與let命令相同:只在聲明所在的塊級作用域內(nèi)有效。

const命令聲明的常量也是不提升,同樣存在暫時性死區(qū),只能在聲明的位置后面使用。

const foo;
// SyntaxError: Missing initializer in const declaration
const PI = 3.1415;
PI // 3.1415

PI = 3;
// TypeError: Assignment to constant variable.

if (true) {
  const MAX = 5;
}

MAX // Uncaught ReferenceError: MAX is not defined

3、塊級作用域
新增方式:

let和const實際上為 JavaScript 新增了塊級作用域。

使用{}創(chuàng)建塊級作用域(可以任意嵌套)

{{{{
  let insane = "Hello World";
  {let insane = "Hello World"}
}}}};

優(yōu)點:使得獲得廣泛應(yīng)用的立即執(zhí)行函數(shù)表達(dá)式(IIFE)不再必要了。

// IIFE 寫法
(function () {
  var tmp = ...;
  ...
}());

// 塊級作用域?qū)懛?{
  let tmp = ...;
  ...
}

注意:只有在ES6中,允許以下三條規(guī)則(ES5不可)

允許在塊級作用域內(nèi)聲明函數(shù)。

函數(shù)聲明類似于var,即會提升到全局作用域或函數(shù)作用域的頭部。

同時,函數(shù)聲明還會提升到所在的塊級作用域的頭部。

4、do表達(dá)式(提案)
不贅述,使得塊級作用域可以變?yōu)楸磉_(dá)式,也就是說可以返回值

let x = do {
  let t = f();
  t * t + 1;
};

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90312.html

相關(guān)文章

  • ES6學(xué)習(xí)摘要(03)(新人學(xué)習(xí)

    摘要:字符的表示法允許采用形式表示一個字符,其中表示字符的碼點。方法,用來將字符的不同表示方法統(tǒng)一為同樣的形式,這稱為正規(guī)化。,默認(rèn)參數(shù),表示標(biāo)準(zhǔn)等價合成,返回多個簡單字符的合成字符。返回布爾值,表示參數(shù)字符串是否在原字符串的頭部。 ECMAScript6/ES6 入門 let和const命令變量的解構(gòu)賦值 五、字符串的擴(kuò)展 注:這章沒什么可以理解的,看過一遍就行,所以大體上我把有用的一些東...

    番茄西紅柿 評論0 收藏0
  • ES6學(xué)習(xí)摘要(02)(新人學(xué)習(xí)

    摘要:默認(rèn)值同時,對象解構(gòu)賦值也允許設(shè)置默認(rèn)值,默認(rèn)值生效的判斷條件同數(shù)組,只有在對應(yīng)值嚴(yán)格等于時會生效。報錯如果要將一個已經(jīng)聲明的變量用于解構(gòu)賦值,必須非常小心。的規(guī)則是,只要有可能導(dǎo)致解構(gòu)的歧義,就不得使用圓括號。 ECMAScript6/ES6 入門 let和const命令 四、變量的解構(gòu)賦值 在ES6之前,數(shù)組和對象屬性賦值只能直接指定固定值,ES6 允許按照一定模式,從數(shù)組和對象中...

    Jonathan Shieber 評論0 收藏0
  • 2017前端現(xiàn)狀--答題救不了前端新人

    摘要:眾所周知,前端近幾年鬧了一場革命。這些問題反應(yīng)了什么現(xiàn)象確實前端很火,引來了一批批新人。前端小白們?nèi)缁鹑巛钡膶W(xué)習(xí)著現(xiàn)在前端流行的新技術(shù)棧。寫在最后所以啊,在目睹了很多白癡問題后,我終于發(fā)出了一聲吶喊,答題救不了前端新人。 眾所周知,前端近幾年鬧了一場革命。前端在編程領(lǐng)域也掀起了學(xué)習(xí)潮。至少在中國,從2013年下半年至今,在搜索指數(shù)上,有著爆炸式的增長??梢钥聪聰?shù)據(jù):百度指數(shù),Googl...

    jone5679 評論0 收藏0
  • 2017前端現(xiàn)狀--答題救不了前端新人

    摘要:眾所周知,前端近幾年鬧了一場革命。這些問題反應(yīng)了什么現(xiàn)象確實前端很火,引來了一批批新人。前端小白們?nèi)缁鹑巛钡膶W(xué)習(xí)著現(xiàn)在前端流行的新技術(shù)棧。寫在最后所以啊,在目睹了很多白癡問題后,我終于發(fā)出了一聲吶喊,答題救不了前端新人。 眾所周知,前端近幾年鬧了一場革命。前端在編程領(lǐng)域也掀起了學(xué)習(xí)潮。至少在中國,從2013年下半年至今,在搜索指數(shù)上,有著爆炸式的增長。可以看下數(shù)據(jù):百度指數(shù),Googl...

    alogy 評論0 收藏0
  • 新人學(xué)習(xí),照文檔手?jǐn)]webpack,bug基本修復(fù)完善(有問題請聯(lián)系我,并非完全原創(chuàng),不喜勿噴。。。

    摘要:介紹簡單點來說就就是一個配置文件,所有的魔力都是在這一個文件中發(fā)生的。一安裝全局安裝在文件夾里面也需要安裝這個是在你根目錄下進(jìn)行的全局安裝記得加太慢,推薦用的鏡像安裝方法一樣。二創(chuàng)建項目新建文件夾命令行輸入命令。 介紹:webpack簡單點來說就就是一個配置文件,所有的魔力都是在這一個文件中發(fā)生的。 這個配置文件主要分為三大塊 entry 入口文件 讓webpack用哪個文件作為項目的...

    xiangchaobin 評論0 收藏0

發(fā)表評論

0條評論

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