摘要:聲明變量功能和類似,卻去掉了很多身上的壞毛病塊狀作用域如果在瀏覽器環(huán)境執(zhí)行的時(shí)候不會(huì)往全局變量上面綁定,防止全局變量的污染直接結(jié)果相同作用域中不允許重復(fù)聲明相同變量執(zhí)行結(jié)果拋出語(yǔ)法錯(cuò)誤經(jīng)典的例子輸出,一不小心就污染了全局環(huán)境使用,就不會(huì)有這
聲明變量 let
功能和var類似,卻去掉了很多var身上的壞毛病
塊狀作用域
{ var a = "123"; } { let b = "456" } // 如果在瀏覽器環(huán)境執(zhí)行的時(shí)候 console.log(a);// "123" console.log(b);// b is not defined
不會(huì)往全局變量上面綁定,防止全局變量的污染
var a = "123"; let b = "456"; // 直接結(jié)果 console.log(window.a);// "123" console.log(window.b);// undefined;
相同作用域中不允許重復(fù)聲明相同變量
let a = "123"; let a = "456"; // 執(zhí)行結(jié)果 console.log(a);// 拋出語(yǔ)法錯(cuò)誤:SyntaxError: Identifier "me" has already been declared
經(jīng)典的例子
for(var i=1;i<10;i++){ } console.log(i); // 輸出10,一不小心就污染了全局環(huán)境 // 使用let,就不會(huì)有這個(gè)問題 for(let j=1;j<10;j++){ } console.log(j); // 拋出引用異常:ReferenceError: j is not defined聲明常量 const
在es6之前并沒有很好的辦法進(jìn)行常量的聲明,常量:這是一個(gè)只讀的變量,es6中給出了const這個(gè)特性,專門用來(lái)處理這類問題
const a = "123"; a = "456"; // 拋出異常 SyntaxError: "a" is read-only
需要注意下,常量的對(duì)象,其中的屬性是可以被改變的
const obj = { name:"hello" } obj.name = "hello 2"; // 這個(gè)地方是合法的for...of
這es6提供的一個(gè)新的迭代器,功能類似for...in,只是前者返回的是value,而后者返回的是腳標(biāo)
let data = ["a","b","c"]; for(let i in data){ console.log(i);// 輸出 0,1,2 } for(let j of data){ console.log(j);// 輸出 a,b,c }代理 Proxies
這是es6提供的一個(gè)強(qiáng)大的特性,可以通過非侵入的方式,修改對(duì)象的默認(rèn)行為
var obj = { name:"dog" }; var handler = { get:function(target,key){ return target[key].replace("dog","cat"); } }; // 設(shè)置代理 var proxy = new Proxy(obj,handler); console.log(proxy.name);
可以進(jìn)行代理的屬性還有很多:
var handler = { get:..., set:..., has:..., deleteProperty:..., apply:..., construct:..., getOwnPropertyDescriptor:..., defineProperty:..., getPrototypeOf:..., setPrototypeOf:..., enumerate:..., ownKeys:..., preventExtensions:..., isExtensible:... }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/90553.html
摘要:前三個(gè)是為了解決變量聲明定義的問題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...
摘要:前三個(gè)是為了解決變量聲明定義的問題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...
摘要:前三個(gè)是為了解決變量聲明定義的問題,而最后一個(gè)則影響最大。下文只介紹前三個(gè)特性。這是因?yàn)榈牡牟恢С謮K級(jí)作用域,變量?jī)H僅被限制到函數(shù)作用域內(nèi)。 原文: http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_syntax_features.html 源代碼: https://github.com/RobinQu/P...
摘要:字面上是生成器的意思,在里是迭代器生成器,用于生成一個(gè)迭代器對(duì)象。當(dāng)執(zhí)行的時(shí)候,并不執(zhí)行函數(shù)體,而是返回一個(gè)迭代器。迭代器具有方法,每次調(diào)用方法,函數(shù)就執(zhí)行到語(yǔ)句的地方。也有觀點(diǎn)極力反對(duì),認(rèn)為隱藏了本身原型鏈的語(yǔ)言特性,使其更難理解。 本文為 ES6 系列的第一篇。旨在給新同學(xué)一些指引,帶大家走近 ES6 新特性。簡(jiǎn)要介紹: 什么是 ES6 它有哪些明星特性 它可以運(yùn)行在哪些環(huán)境 ...
摘要:年月,的創(chuàng)造者公司,決定將提交給國(guó)際標(biāo)準(zhǔn)化組織,希望這種語(yǔ)言能夠成為國(guó)際標(biāo)準(zhǔn)。這表示外層代碼塊不受內(nèi)層代碼塊的影響。也可以運(yùn)用于函數(shù)及其他文中就簡(jiǎn)單介紹這么多,想更加了解新特性的可以自尋查看一下阮一峰的一本入門 ES6新特性 最近在項(xiàng)目中遇到了很多ES6的語(yǔ)法,遇到了不少坑坑洼洼,因此,在這里就簡(jiǎn)單介紹一下ES6中的一些新特性 如果想真正的了解ES6和ES5有什么不同,這里推薦看一下...
摘要:示例運(yùn)行函數(shù)彈出彈出函數(shù)接收參數(shù),返回值。其中,返回一個(gè)對(duì)象,是的返回值,代表函數(shù)是否執(zhí)行完成。 ES6特性介紹(下) ES6新的標(biāo)準(zhǔn),新的語(yǔ)法特征:1、變量/賦值2、函數(shù)3、數(shù)組/json4、字符串5、面向?qū)ο?、Promise7、generator8、ES7:async/await 《【W(wǎng)eb全棧課程二】ES6特性介紹(上)》見:https://segmentfault.com/a...
閱讀 3973·2021-10-09 09:43
閱讀 2880·2021-10-08 10:05
閱讀 2740·2021-09-08 10:44
閱讀 889·2019-08-30 15:52
閱讀 2817·2019-08-26 17:01
閱讀 3024·2019-08-26 13:54
閱讀 1657·2019-08-26 10:48
閱讀 815·2019-08-23 14:41