JavaScript 元组示例
在 JavaScript 语言中,元组是具有不可变特性的数组类型。我们可以使用一个变量访问元组,该变量是一个数组
类型。
JavaScript 中的元组
class MyBestTupleExplanation extends Array {
constructor(...items) {
super(...items);
Object.freeze(this);
}
}
let tuple = new MyBestTupleExplanation('Afridi', 35, 'White');
let [myName, myAge, skinColor] = tuple;
console.debug(myName); // Afridi
console.debug(myAge); // 35
console.debug(skinColor); // White
console.debug('******************************************');
console.debug('Now we are re-assigning the values to tuple');
console.debug('******************************************');
tuple = ['Bob', 24]; // no effect
console.debug(myName); // Afridi
console.debug(myAge); // 35
console.debug(skinColor); // White
输出:
Afridi
35
White
******************************************
Now we are re-assigning the values to tuple
******************************************
Afridi
35
White
在上面的例子中,我们创建了一个名为 MyBestTupleExplanation
的类,继承自 Array
类。它将表现得像一个数组,但具有不变性特征。在这个类中,我们用 super
方法调用 Array
类的构造函数。
在上面的代码中,我们使用了 MyBestTupleExplanation
类,在它的构造函数中,我们从父类 Object
调用方法 freeze
并将一个数组传递给它。
在创建这个类之后,我们创建了该类的名为 MyBestTupleExplanation
的对象,并通过构造函数传递值。
我们创建了一个匿名变量数组并将我们的元组分配给该数组。元组中的元素将按索引分配给 array
。如果我们稍后将值重新分配给该元组,它将不起作用。如示例所示,我们不能将值重新分配给元组。
JavaScript 元组示例 2
class MyBestTupleExplanation extends Array {
constructor(...items) {
super(...items);
Object.freeze(this);
}
}
let tuple = new MyBestTupleExplanation('Afridi', 35);
let [myName, myAge, skinColor] = tuple;
console.debug(myName); // Afridi
console.debug(myAge); // 35
console.debug(skinColor); // undefined
输出:
Afridi
35
undefined
在上面的例子中,我们创建了一个变量 skinColor
,但没有初始化它的值;这就是为什么我们得到一个未定义的错误。
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
用 jQuery 检查复选框是否被选中
发布时间:2024/03/24 浏览次数:102 分类:JavaScript
-
在本教程中学习 jQuery 检查复选框是否被选中的所有很酷的方法。我们展示了使用直接 DOM 操作、提取 JavaScript 属性的 jQuery 方法以及使用 jQuery 选择器的不同方法。你还将找到许多有用的
jQuery 中的 Window.onload 与 $(document).ready
发布时间:2024/03/24 浏览次数:180 分类:JavaScript
-
本教程演示了如何在 jQuery 中使用 Window.onload 和 $(document).ready 事件。