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

資訊專欄INFORMATION COLUMN

es6中 var let const區別

劉永祥 / 3245人閱讀

摘要:我認為這樣是可行的主要是通過設置變量的可寫屬性為報錯不報錯通過以上兩個例子發現這種實現應該是可以的

由一道面試題引發的思考~~如何用es5實現es6中類似const的效果?

var:有變量提升,提升到當前作用域的最前

let:
(1)let不會有變量提升:且let申明的變量在塊級作用域中存在暫時性死區 (暫時性死區:在塊級作用域中,從塊級的頂部到變量申明之前,這一區域是不允許使用該變量的,否則報錯,即使是typeof)
(2)全局變量不再屬于window對象:在全局let聲明的變量不再屬于頂層對象(window)
即 let a=1;console.log(window.a)//undefined
(3)let變量不能重復聲明,無論是var let 或let let 或let var 都不行的呀~~

const: 聲明一個常量,且聲明時必須賦值,const特性同let,而且這個常量是不能改變的
注意:如果const常量對應的是一個對象,則不能對常量重新賦值,但是可以改變這個對象的屬性~~

例1:const a=1;a=2;//報錯
例2:consot aa={};aa=2;//報錯        
例3:const aaa={};aaa.b=1;//不報錯    

面試題:用es5實現類似const效果。我認為這樣是可行的: 主要是通過defineProperty設置變量的可寫屬性為false
"use strict"; Object.defineProperty(this,"x",{value:1,writeable:false});
this.x=1; //報錯
console.log(x);

"use strict";
Object.defineProperty(this,"x",{value:{},writeable:false});
this.x.a=1; //不報錯
console.log(x); //{a:1}

通過以上兩個例子發現這種實現應該是可以的~~

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

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

相關文章

  • 總結下varletconst區別

    摘要:前言和的區別是老生常談,看到網上一些文章的總結,有的不太全面,甚至有的描述不太準確,在這里盡量全面的總結下這三者的區別。最后以上大概是總結后的內容,看來,還是多用吧。 前言 var 和 let 的區別是老生常談,看到網上一些文章的總結,有的不太全面,甚至有的描述不太準確,在這里盡量全面的總結下這三者的區別。 let 是 ES6新增的變量類型,用來代替 var 的一些缺陷,跟 var...

    pingink 評論0 收藏0
  • var let const 區別

    摘要:區別標簽空格分隔規范新增了兩種變量聲明方式,雖然在項目中也經常用到和但是和到底有什么區別,今天做下總結。不允許重復聲明不允許在相同作用域內,重復聲明同一個變量。 var let const 區別 標簽(空格分隔): ES6 ES6規范新增了let、const兩種變量聲明方式,雖然在項目中也經常用到let和const但是和var到底有什么區別,今天做下總結。 1、let 聲明的變量只在...

    Ververica 評論0 收藏0
  • ES6系列之 letconst

    摘要:聲明的變量不得改變值,這意味著,一旦聲明變量,就必須立即初始化,不能留到以后賦值。這在語法上,稱為暫時性死區,簡稱。這表明函數內部的變量與循環變量不在同一個作用域,有各自單獨的作用域。系列文章系列文章地址 showImg(https://segmentfault.com/img/bVbrjjC); 為什么需要塊級作用域 ES5 只有全局作用域和函數作用域,沒有塊級作用域,這帶來很多不合...

    libxd 評論0 收藏0
  • 字面量、變量、常量 let const的理解

    摘要:常量與字面量的區別常量與字面量均不會被改變。常量為存儲數據的容器,而字面量為等號右側的值,字面量是由字符串,數字等構成的字符串或數值。在中,標識符用于命名變量以及關鍵詞函數和標簽。 之前竟然對常量、字面量都沒有搞清楚,要學習的真的是好的 剛才終于搞清楚了 是該好好在學一遍js的 字面量:在編程語言中,一般固定值稱為字面量,如 3.14。 不是一種值,而是一種變量記法 ...

    gplane 評論0 收藏0
  • ES6精解:letconst、塊級作用域

    摘要:命令新增了命令,跟類似,都是用來聲明變量的不允許重復聲明報錯不存在變量提升報錯正確寫法為既要先定義,后面才能有這個值,否則會報錯,如果改成會提示未定義,但是就直接報錯了暫時性死區只要在塊級作用域里面存在則它所聲明的變量就綁定在這個塊級作用域 let命令 ES6新增了let命令,跟var類似,都是用來聲明變量的 1.不允許重復聲明 { let a = 1; let a =...

    BWrong 評論0 收藏0

發表評論

0條評論

劉永祥

|高級講師

TA的文章

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