Baseline Widely available
Constants (常æ¸) æé»åä½¿ç¨ let
æå®£åçè®æ¸ï¼å
·æåå¡å¯è¦ç¯åã常æ¸ä¸è½éè¤æå®å¼ï¼ä¹ä¸è½éè¤å®£åã
const number = 42;
try {
number = 99;
} catch (err) {
console.log(err);
// Expected output: TypeError: invalid assignment to const 'number'
// (Note: the exact output may be browser-dependent)
}
console.log(number);
// Expected output: 42
èªæ³
const name1 = value1;
const name1 = value1, name2 = value2;
const name1 = value1, name2 = value2, /* â¦, */ nameN = valueN;
nameN
常æ¸çå稱ï¼å¯ä»¥æ¯ä»»ä½åæ³ç identifierã
valueN
常æ¸çå¼ï¼å¯ä»¥æ¯ä»»ä½åæ³ç expressionï¼å æ¬ function expressionã
ä¸è¿°å®£å建ç«ä¸å常æ¸ï¼å®çå¯è¦ç¯åå¯è½æ¯å
¨åçï¼ææ¯å¨å®æå®£åçåååå¡ä¸ãå var
è®æ¸ä¸åçæ¯ï¼å
¨åç常æ¸ä¸æè®æ window ç©ä»¶ç屬æ§ã常æ¸å¿
é è¦åå§åï¼ä¹å°±æ¯èªªï¼ä½ å¿
é å¨å®£å常æ¸çåä¸åæè¿°å¼ä¸æå®éå常æ¸çå¼ã(éå¾åçï¼å çºç¨å¾å°±ä¸è½åè®æ´å¸¸æ¸çå¼äº)
宣å const
æå°æ¼å®çå¼å»ºç«ä¸åå¯è®çåèã䏦䏿¯èªªéåå¼ä¸å¯è®æ´ï¼èæ¯éåè®æ¸ä¸è½å䏿¬¡æå®å¼ãä¾å¦ï¼åè¨å¸¸æ¸çå
§å®¹(å¼)æ¯åç©ä»¶ï¼é£éº¼æ¤ç©ä»¶çå
§å®¹(ç©ä»¶ç忏)æ¯å¯ä»¥æ´æ¹çã
ææéæ¼ "temporal dead zone" ççæ³ï¼é½é©ç¨æ¼ let
å const
ã
å¨ç¸åçå¯è¦ç¯åå §ï¼å¸¸æ¸ä¸è½å彿¸ï¼è®æ¸å ·æç¸åå稱ã
ç¯ä¾ä»¥ä¸ç¯ä¾å±ç¤ºå¸¸æ¸çè¡çºãè«å¨ä½ çç覽å¨ä¸è©¦è©¦ä»¥ä¸ç¨å¼ç¢¼ã
// 注æ: 常æ¸å¯ä»¥å®£åæå¤§å¯«æå°å¯«,
// ä½ç¿æ
£ä¸ä½¿ç¨å
¨é¨å¤§å¯«ç忝ã
// å®ç¾©ä¸åå¸¸æ¸ MY_FAV 並賦äºå®çå¼çº7
const MY_FAV = 7;
// é裡æç¼çé¯èª¤ - Uncaught TypeError: Assignment to constant variable.
MY_FAV = 20;
// MY_FAV æ¯ 7
console.log("æåæ¡çæ¸åæ¯: " + MY_FAV);
// å試éè¤å®£åååç常æ¸ï¼å°æç¼çé¯èª¤ - Uncaught SyntaxError: Identifier 'MY_FAV' has already been declared
const MY_FAV = 20;
// MY_FAV éåå稱已ç¶ä¿ç給ä¸é¢ç常æ¸, æä»¥éè£¡ä¹æé¯èª¤ã
var MY_FAV = 20;
// éå¼å乿é¯èª¤
let MY_FAV = 20;
// å¾éè¦ï¼è«æ³¨æåå¡å¯è¦ç¯åçç¹æ§ã
if (MY_FAV === 7) {
// 以ä¸å¼åæ²æåé¡ï¼ä¸¦ä¸æå»ºç«ä¸ååå« MY_FAV çå
·æåå¡å¯è¦ç¯åçè®æ¸ã
// (çåæ¼ä½¿ç¨ let ä¾å®£åä¸åå
·æåå¡å¯è¦ç¯åçé常æ¸è®æ¸ã)
let MY_FAV = 20;
// MY_FAV ç¾å¨è®æ 20
console.log("æåæ¡çæ¸åæ¯ï¼" + MY_FAV);
// éæå°è®æ¸æ¸ææ¼å
¨åï¼èå°è´é¯èª¤ã(è常æ¸åå)
var MY_FAV = 20;
}
// MY_FAV ä»ç¶æ¯ 7
console.log("æåæ¡çæ¸åæ¯ï¼" + MY_FAV);
// ç¼çé¯èª¤ - Uncaught SyntaxError: Missing initializer in const declaration
const FOO;
// 常æ¸çå¼å¯ä»¥æ¯ä¸åç©ä»¶
const MY_OBJECT = { key: "value" };
// å試è¦å¯«è©²ç©ä»¶å°æç¼çé¯èª¤ - Uncaught TypeError: Assignment to constant variable.
MY_OBJECT = { OTHER_KEY: "value" };
// ç¶è, ç©ä»¶ç屬æ§ä¸¦æ²æè¢«ä¿è·,
// æä»¥ï¼ä»¥ä¸æè¿°å¼æ²æåé¡ã
MY_OBJECT.key = "otherValue"; // Use Object.freeze() to make object immutable
// å°é£åä¾èªªä¹æ¯ä¸æ¨£
const MY_ARRAY = [];
// å¯ä»¥æé
ç®å å°é£åä¸ã
MY_ARRAY.push("A"); // ["A"]
// ç¶èï¼å°éåè®æ¸æå®æ°é£åï¼å°æç¼çé¯èª¤ - Uncaught TypeError: Assignment to constant variable.
MY_ARRAY = ["B"];
è¦ç¯ ç覽å¨ç¸å®¹æ§ åé±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4