مثل Math في JavaScript

ECMAScript 2015 (ES6)

في عام 2015، قام جافا سكريبت بإدخال كلمة مفتاحية جديدة مهمة:const.

使用 const أصبح إعلان المصفوفة ممارسة شائعة:

مثال

const cars = ["Saab", "Volvo", "BMW"];

亲自试一试

لا يمكن إعادة التعيين

const لا يمكن إعادة تعيين المصفوفة المعلن عنها:

مثال

const cars = ["Saab", "Volvo", "BMW"];
cars = ["Toyota", "Volvo", "Audi"];    // ERROR

亲自试一试

المصفوفة ليست ثابتة

كلمة مفتاحية const مضلل قليلاً.

لا يحدد مصفوفة ثابتة. يحدد ما هو مرجع ثابت للمصفوفة.

لذلك، يمكننا تغيير عناصر مصفوفة الثابتة.

يمكن إعادة تعيين العنصر

يمكنك تغيير عنصر مصفوفة ثابتة:

مثال

// يمكنك إنشاء مصفوفة ثابتة:
const cars = ["Saab", "Volvo", "BMW"];
// يمكنك تغيير العنصر:
cars[0] = "Toyota";
// يمكنك إضافة عنصر:
cars.push("Audi");

亲自试一试

المتصفح يدعم

Internet Explorer 10 أو الإصدارات الأقدم لا تدعم 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 而不初始化数组是一个语法错误:

مثال

不起作用:

const cars;
cars = ["Saab", "Volvo", "BMW"];

var 声明的数组可以随时初始化。

您甚至可以在声明之前使用该数组:

مثال

没问题:

cars = ["Saab", "Volvo", "BMW"];
var cars;

亲自试一试

const 块作用域

const 声明的数组具有块作用域.

在块中声明的数组与在块外声明的数组不同:

مثال

const cars = ["Saab", "Volvo", "BMW"];
// 此处 cars[0] 为 "Saab"
{
  const cars = ["Toyota", "Volvo", "BMW"];
  // 此处 cars[0] 为 "Toyota"
}
// 此处 cars[0] 为 "Saab"

亲自试一试

var 声明的数组没有块作用域:

مثال

var cars = ["Saab", "Volvo", "BMW"];
// 此处 cars[0] 为 "Saab"
{
  var cars = ["Toyota", "Volvo", "BMW"];
  // 此处 cars[0] 为 "Toyota"
}
// 此处 cars[0] 为 "Toyota"

亲自试一试

您可以在以下章节中学习更多关于块作用域的内容:مجال جافا سكربت.

重新声明数组

在程序中的任何位置都允许用 var إعادة تعريف المصفوفة:

مثال

var cars = ["Volvo", "BMW"];   // 允许
var cars = ["Toyota", "BMW"];  // 允许
cars = ["Volvo", "Saab"];      // 允许

不允许在同一作用域或同一块中将数组重新声明或重新赋值给 const

مثال

var cars = ["Volvo", "BMW"];         // 允许
const cars = ["Volvo", "BMW"];       // 不允许
{
  var cars = ["Volvo", "BMW"];         // 允许
  const cars = ["Volvo", "BMW"];       // 不允许
}

不允许在同一作用域或同一块中重新声明或重新赋值现有的 const 数组:

مثال

const cars = ["Volvo", "BMW"];       // مسموح
const cars = ["Volvo", "BMW"];       // 不允许
var cars = ["Volvo", "BMW"];         // غير مسموح
cars = ["Volvo", "BMW"];             // غير مسموح
{
  const cars = ["Volvo", "BMW"];     // مسموح
  const cars = ["Volvo", "BMW"];     // غير مسموح
  var cars = ["Volvo", "BMW"];       // غير مسموح
  cars = ["Volvo", "BMW"];           // غير مسموح
}

يسمح باستخدامها في نطاق آخر أو في منطقة أخرى const إعادة تعريف المصفوفة:

مثال

const cars = ["Volvo", "BMW"];       // مسموح
{
  const cars = ["Volvo", "BMW"];     // مسموح
}
{
  const cars = ["Volvo", "BMW"];     // مسموح
}

دليل مرجعي للمصفوفات الكامل

للإطلاع على المرجع الكامل، يرجى زيارة دليل مرجعي لـ Array JavaScript.

يحتوي هذا الدليل على وصف جميع خصائص المصفوفات وطرقها وآلاف الأمثلة.