JavaScript array Const
- Föregående sida JS-arrayiteration
- Nästa sida JS-datum
ECMAScript 2015 (ES6)
2015, JavaScript introducerade ett viktigt nytt nyckelord:const
.
使用 const
Deklarering av arrayer har blivit ett vanligt sätt:
Exempel
const cars = ["Saab", "Volvo", "BMW"];
Kan inte återföras
用 const
Deklarerade arrayer kan inte återföras:
Exempel
const cars = ["Saab", "Volvo", "BMW"]; cars = ["Toyota", "Volvo", "Audi"]; // ERROR
En array är inte en konstant
Nyckelord const
Vissa misvisande.
Det definierar inte en konstant array. Det definierar en konstant referens till en array.
Därför kan vi fortfarande ändra elementen i en konstant array.
Element kan återföras
Du kan ändra elementen i en konstant array:
Exempel
// Du kan skapa en konstant array: const cars = ["Saab", "Volvo", "BMW"]; // Du kan ändra element: cars[0] = "Toyota"; // Du kan lägga till element: cars.push("Audi");
Webbläsare stödjer
Internet Explorer 10 eller tidigare versioner stöder inte const
关键字。
下表注明了完全支持 const 关键字的首个浏览器版本:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 49 | IE 11 / Edge | Firefox 36 | Safari 10 | Opera 36 |
2016 年 3 月 | 2013 年 10 月 | 2015 年 2 月 | 2016 年 9 月 | 2016 年 3 月 |
声明时赋值
JavaScript const
变量在声明时必须赋值:
意思是:用 const
声明的数组必须在声明时进行初始化。
使用 const
而不初始化数组是一个语法错误:
Exempel
不起作用:
const cars; cars = ["Saab", "Volvo", "BMW"];
用 var
声明的数组可以随时初始化。
您甚至可以在声明之前使用该数组:
Exempel
没问题:
cars = ["Saab", "Volvo", "BMW"]; var cars;
const 块作用域
用 const
声明的数组具有块作用域.
在块中声明的数组与在块外声明的数组不同:
Exempel
const cars = ["Saab", "Volvo", "BMW"]; // 此处 cars[0] 为 "Saab" { const cars = ["Toyota", "Volvo", "BMW"]; // 此处 cars[0] 为 "Toyota" } // 此处 cars[0] 为 "Saab"
用 var
声明的数组没有块作用域:
Exempel
var cars = ["Saab", "Volvo", "BMW"]; // 此处 cars[0] 为 "Saab" { var cars = ["Toyota", "Volvo", "BMW"]; // 此处 cars[0] 为 "Toyota" } // 此处 cars[0] 为 "Toyota"
您可以在以下章节中学习更多关于块作用域的内容:JavaScript Område.
重新声明数组
在程序中的任何位置都允许用 var
Återförklara arrayen:
Exempel
var cars = ["Volvo", "BMW"]; // 允许 var cars = ["Toyota", "BMW"]; // 允许 cars = ["Volvo", "Saab"]; // 允许
不允许在同一作用域或同一块中将数组重新声明或重新赋值给 const
:
Exempel
var cars = ["Volvo", "BMW"]; // 允许 const cars = ["Volvo", "BMW"]; // 不允许 { var cars = ["Volvo", "BMW"]; // 允许 const cars = ["Volvo", "BMW"]; // 不允许 }
不允许在同一作用域或同一块中重新声明或重新赋值现有的 const
数组:
Exempel
const cars = ["Volvo", "BMW"]; // Tillåtet const cars = ["Volvo", "BMW"]; // 不允许 var cars = ["Volvo", "BMW"]; // Ej tillåtet cars = ["Volvo", "BMW"]; // Ej tillåtet { const cars = ["Volvo", "BMW"]; // Tillåtet const cars = ["Volvo", "BMW"]; // Ej tillåtet var cars = ["Volvo", "BMW"]; // Ej tillåtet cars = ["Volvo", "BMW"]; // Ej tillåtet }
Tillåtet att använda i en annan kontext eller i en annan block const
Återförklara arrayen:
Exempel
const cars = ["Volvo", "BMW"]; // Tillåtet { const cars = ["Volvo", "BMW"]; // Tillåtet } { const cars = ["Volvo", "BMW"]; // Tillåtet }
Komplett arrayreferenshandbok
För en fullständig referens, besök vår JavaScript Array-handbok.
Denna handbok innehåller beskrivningar och exempel på alla arrayegenskaper och metoder.
- Föregående sida JS-arrayiteration
- Nästa sida JS-datum