亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    React中const是什么

    React中const是:1、const聲明的變量是不得改變的值;2、const的作用域與let命令相同;3、const命令聲明的常量也是不提升;4、const聲明的常量,也與let一樣不可重復(fù)聲明;5、const聲明一個只讀的常量。

    React中const是什么

    本教程操作環(huán)境:windows7系統(tǒng)、React17版,該方法適用于所有品牌電腦。

    React中const是:

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

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

    上面代碼表明改變常量的值會報錯。

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

    const foo; // SyntaxError: Missing initializer in const declaration

    上面代碼表示,對于const來說,只聲明不賦值,就會報錯。

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

    if (true) { const MAX = 5; } MAX // Uncaught ReferenceError: MAX is not defined

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

    if (true) { console.log(MAX); // ReferenceError const MAX = 5; }

    上面代碼在常量MAX聲明之前就調(diào)用,結(jié)果報錯。

    5、const聲明的常量,也與let一樣不可重復(fù)聲明。

    var message = "Hello!"; let age = 25; // 以下兩行都會報錯 const message = "Goodbye!"; const age = 30;

    6、對于復(fù)合類型的變量,變量名不指向數(shù)據(jù),而是指向數(shù)據(jù)所在的地址。const命令只是保證變量名指向的地址不變,并不保證該地址的數(shù)據(jù)不變,所以將一個對象聲明為常量必須非常小心。

    const foo = {}; foo.prop = 123; foo.prop // 123 foo = {}; // TypeError: "foo" is read-only

    上面代碼中,常量foo儲存的是一個地址,這個地址指向一個對象。不可變的只是這個地址,即不能把foo指向另一個地址,但對象本身是可變的,所以依然可以為其添加新屬性。

    下面是另一個例子。

    const a = []; a.push('Hello'); // 可執(zhí)行 a.length = 0; // 可執(zhí)行 a = ['Dave']; // 報錯

    上面代碼中,常量a是一個數(shù)組,這個數(shù)組本身是可寫的,但是如果將另一個數(shù)組賦值給a,就會報錯。

    7、如果真的想將對象凍結(jié),應(yīng)該使用Object.freeze方法。

    const foo = Object.freeze({}); // 常規(guī)模式時,下面一行不起作用; // 嚴(yán)格模式時,該行會報錯 foo.prop = 123;

    上面代碼中,常量foo指向一個凍結(jié)的對象,所以添加新屬性不起作用,嚴(yán)格模式時還會報錯。

    8、除了將對象本身凍結(jié),對象的屬性也應(yīng)該凍結(jié)。下面是一個將對象徹底凍結(jié)的函數(shù)。

    var constantize = (obj) => { Object.freeze(obj); Object.keys(obj).forEach( (key, value) => { if ( typeof obj[key] === 'object' ) { constantize( obj[key] ); } }); };

    ES5只有兩種聲明變量的方法:var命令和function命令。ES6除了添加let和const命令,還有另外兩種聲明變量的方法:import命令和class命令。所以,ES6一共有6種聲明變量的方法。

    相關(guān)免費學(xué)習(xí)推薦:javascript(視頻)

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號