首页 > 其他分享 >解构赋值:

解构赋值:

时间:2024-05-26 15:01:40浏览次数:22  
标签:const name age 解构 address console 赋值

将对象、数组、字符串解构分解后赋值给变量 1 、字符串解构赋值

const str1='hello world'
// const a=str1[0]
// const b=str1[1]
// const c=str1[2]
// console.log(a,b,c);
const [a,b,c]=str1
console.log(a,b,c);
下方报错,证明赋值符号前面就是在声明变量,而程序中不能存在重复的变量

 

const str2 = '我有一个梦想'
const [s1, s2] = str2
console.log(s1, s2);
跳过一个或多个

 

const str2 = '我有一个梦想'
const [s1, s2, , s3] = str2
console.log(s1, s2, s3);

 

2 、数组解构赋值
const arr1 = ['清明节', '劳动节', '端午节', '中秋节'];
const [a, b, , c] = arr1
console.log(a, b, c);
3 、对象解构赋值 对象解构赋值与字符串和数组的解构赋值不一样 字符串和数组是根据索引匹配元素 对象根据键寻找值,所以对象解构赋值时,变量名称必须与想要解构的属性名称一致
const person = {
name: '张三',
age: '18',
address: '河北保定',
}
// const name=person.name
// const age=person.age
// 使用解构赋值
const { name, address } = person
console.log(a, b);
解构更复杂的解构
const person = {
name: '张三',
age: '18',
address: {
province: '广东',
city: '深圳',
info: '平安大街1111号'
}
}
// 使用解构赋值
const { name, age,address } = person
console.log(name, age);
// console.log(address);
const {province,city,info} = address
console.log(province,city,info);
也可以使用嵌套的解构赋值简化代码
const person = {
name: '张三',
age: '18',
address: {
province: '广东',
city: '深圳',
info: '平安大街1111号'
}
}
// 使用解构赋值
const { name, age, address: { province, city, info } } = person
console.log(name, age, province, city, info);
补充:被解构的变量无法使用,比如 address
// 案例
const result = {
    data: {
data: [
{ id: 1, title: '历史' },
{ id: 2, title: '军事' },
{ id: 3, title: '情感' },
{ id: 4, title: '校园' },
],
total_page: 10
},
config: {},
response: {}
}
const { data:{data,total_page} } = result
console.log(data);
console.log(total_page);

模版字符串

const name = '张三';
const age = 18;
const address = '北京';
console.log(`${name}几年${age}岁了,居住在${address}`);

声明对象简写

属性声明简写 方法声明简写 当对象中的属性的值是一个变量,而且属性名称与变量名称同名的时候,可以简写
const name = '张三'
const age = 18
const address = '北京'
const person = {
name: name,
age: age,
address: address
}
console.log(person);
如上面代码可以简写为
const name = '张三'
const age = 18
const address = '北京'
const person = {
name,
age,
address
}
console.log(person);
方法简写
const name = '张三'
const age = 18
const address = '北京'
const person = {
name,
age,
address,
speak() {
},
run() {
}
}

标签:const,name,age,解构,address,console,赋值
From: https://blog.csdn.net/m0_59365887/article/details/139183306

相关文章

  • 易语言如何用循环方式给多个标签赋值
    易语言如何用循环方式给多个标签赋值?首先添加好你要的标签,然后在属性里设置标记属性值:第一个标记填1,第二个标记填2,……,吧所有的标记都设置好后.版本2.子程序按钮2被单击.局部变量n,整数型.局部变量量_标签,标签n=1.循环判断首()量标签=取标记组件(n)量标......
  • PHP函数 赋值运算符
    <?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';//赋值运算符/***例子等同于操作*$a+=$b等同于$a=$a+$b加法*$a-=$b等同于$a=$a-$......
  • springboot 请求前自动给 参数的某个属性赋值
     springboot请求前自动给参数的某个属性赋值在SpringBoot中,可以通过自定义HandlerMethodArgumentResolver来在请求处理方法前自动给参数的某个属性赋值。以下是一个简单的例子:创建一个自定义注解来标记需要自动赋值的参数:  @Target(ElementType.PARA......
  • subList不能直接赋值给外部引用以达到修改的目的
    importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;classA{publicstaticvoidmain(String[]args){List<Integer>list=newArrayList<>();Collections.addAll(list,9,2,8,1,5,1);......
  • 结构体中的指针&&拷贝赋值构造函数改造
    带有成员指针的结构体的拷贝1.问题使用结构体时,在析构时发生了**重复释放指针**的错误。2.原因定义了QList<结构体>,使用append添加结构体对象并未此结构体中的指针分配了空间,append会执行值拷贝,此时会创建新的副本添加进QList中,值得注意的是:append执行拷贝时并不会分配地......
  • Effective C++:2.构造、析构、赋值函数
    几乎每个class都会有一个或者多个构造函数,一个析构函数,一个copyassignment函数,因此有必要加深理解1.条款05:了解C++默默编写并调用哪些函数如果你没有生成一下函数,那么C++会在需要的时候(被调用)帮你自动生成这些函数:default构造函数copy构造函数default析构函数copyassign......
  • dataframe的构造,取值,赋值,移动,交集,并集,排序,打印,转List,导出csv
    一、构造  da=pd.read_csv(filepath_or_buffer='data.csv',sep='\t')  print(da)  datas=pd.DataFrame(da)2、直接赋值df=pd.DataFrame([[1.4,np.nan],[7,-4],[np.nan,np.nan],[0.75,-1.3]],index=[1,2,3,4],         columns=[......
  • python 封装与解构
    封装封装是面向对象编程中的一个概念,指的是将数据(属性)和操作(方法)捆绑到一个单元中,通过这种方式实现数据隐藏和封装。在Python中,类是封装的主要机制,将数据和方法封装在类的内部,并通过对象来访问。通过封装,可以实现数据的保护和操作的封装,提高代码的模块化程度和安全性。classPla......
  • UES-05-解构
    解构的作用方便从对象或者数组等数据结构中提取想要的数据。使用任何一种类型的解构,当=右边的值为null或undefined时,会抛出错误。对象解构通过在=左边使用{},在大括号内部写入以逗号分隔的=右边对象的属性名,则对应的属性名作为本地变量名,同时变量的值即为属性值。(......
  • ILA抓出匪夷所思的错误,如一个always块里面的两个相同逻辑寄存器赋值出现毛刺
    有一种可能性是下载器太烂了,可以降速使用,或者换个质量好的(带屏蔽的下载器)。出错代码:(已知所有条件正确、length_fpga1和length_fpga2的逻辑完全相同,时钟稳定,时序无误)可以看到length_fpga2的bit11莫名其妙翻转,现在直接揭晓答案,因为下载器丢包了,当把测试的特定值改为0xaa,0x55等......