JavaScript 记录和元组

JavaScript 记录和元组

在本文中,我们要了解关于一个新的原始数据结构记录和元组。这些数据结构在官方的JavaScript中并不可用,因为这只是提案,希望将其添加到JavaScript中。

记录和元组都是原始数据类型,我们只能使用原始数据类型来创建记录和元组,所以在这些数据结构中不能使用对象和数组。让我们仔细观察记录和元组。

记录: 你可以将记录视为对象,因为记录的语法与对象相同,我们只需在大括号之前添加“#”,如代码所示。我们还可以像使用对象一样访问记录的键。

Javascript

const user = #{ 
    name: "Adam", 
    age: 21, 
} 
  
// We can access keys like Object 
console.log(user.name) 
console.log(user.age)

我们不能将数组或对象分配给记录的键。

Javascript

// This is not valid for Record 
  
const user = #{ 
    name: "Adam", 
    age: 21, 
    hobbies: ['Reading', 'Playing', 'Singing'] 
}

我们可以在Records中使用扩展运算符,我们还可以在Records中使用Object函数。

Javascript

const user = #{ 
    name: "Adam", 
    age: 21, 
} 
  
// Record destructuring is valid 
const newUser = {...user} 
  
// Object functions works with Record 
console.log(Object.key(user))  //Output: ['name', 'age']

元组: 是的,你可以把元组想象成数组,因为元组的语法与数组也完全相同,我们只需在方括号前面加上“#”,如代码所示。我们也可以像使用对象一样访问记录的键。

JavaScript

const users = #['Ram', 'Shyam', 'Gopal'] 
  
// We can access index like Array 
console.log(users[1]) // 'Shyam' 
console.log(users[2]) // 'Gopal'

这里和Record一样的情况也存在,我们无法将数组或对象分配给Record的键。

Javascript

// This is not valid for Tuple 
  
const user = #[ 
    { 
        name: 'Ram', 
        age: 21 
    }, 
    { 
        name: 'Shyam', 
        age: 22 
    } 
]

我们可以在元组中使用展开运算符,也可以使用数组函数来处理元组。

Javascript

const users = ['Ram', 'Shyam', 'Gopal'] 
  
const newUsers = [...users] 
console.log(newUsers) // ['Ram', 'Shyam', 'Gopal'] 
  
// Array functions works with Tuple 
console.log(users.map(user => user + 'abc'))   
// Output: ['Ram abc', 'Shyam abc', 'Gopal abc']

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程