首页 > 其他分享 >第三讲 变量的解构赋值

第三讲 变量的解构赋值

时间:2023-09-08 23:32:54浏览次数:32  
标签:console log name 解构 let 变量 赋值

第三讲 变量的解构赋值

本章是ES6的新的知识点,值得学习哦^.^

3.1 为什么使用解构赋值

​ 体验之前的代码变量方式

//1.旧社会如何使用变量;
        //赋值方式
        // let a=250;
        // let b=666;
        // let c=888;
        // console.log(a,b,c);
        //提升一下,变量比较多,数组;
        let arr=[251,667,889];
        console.log(arr[0],arr[1],arr[2]);
        //不想输入arr,a,b,c
        let a=arr[0],b=arr[1],c=arr[2];
        console.log(a,b,c);
        //就可以使用我们今天要讲的技术点,解构赋值;

3.2 数组的解构赋值

解构赋值的概念:

​ 按照一定的模式,从数组和对象中提取值,对变量进行赋值。

        let [a,b,c]=[252,668,890];
        console.log(a,b,c);

注意事项:

  • 左右结构必须一致
  • 右边必须有值
  • 声明和赋值必须在一起(在一起)
//解构赋值的两种情况
//解构不成功
let [mytt]=[];
console.log(mytt);  //undefined
//不完全解构
let [x,y,z]=[22,33,44,55,66];
console.log(x,y,z);

3.3 字符串的解构赋值

//1.常量
        const [x,y,z]="HOP";
        console.log(x,y,z);
        //字符串当成了一个字符数组,进行解构赋值;

3.4 对象的解构赋值

参考代码:

 //对象:json
        //{}格式;
        const cai={
            name:"蔡徐坤",
            age:'18',
            gender:'未知',
            hobby:function () {
                console.log('我爱打篮球');
            }
        };
        //假设
        let name="张老师";
        //对这个cai对象进行解构赋值;
        //name:n(别名),严格一点也叫属性,对象的内部机制,先找到同名属性,然后再赋值给对应的变量.
        let  {name:n,age,gender,hobby}=cai;
        //输出
        console.log(n,age,gender,hobby);
        //调用方法
        hobby();

3.5 复杂的解构赋值

补充知识点

默认值

//1.补充
        //y=10,就是数组解构赋值的时候,一个默认值;
        // let [x,y=10]=[22];  //左2,右1
        // console.log(x,y);
        // //对象也可以使用默认值
        // let {host='tea.com',port}={port:8088};
        // console.log(host,port);

复杂的解构赋值:可以将我们讲解的数组、字符串、对象综合起来,进行解构赋值,必须遵循解构赋值的三个特征;

 let [one,two,three]=[[2,3,4],{name:'蔡徐坤',age:18},'hello'];
        console.log(one);
        console.log(two);
        console.log(three);
        console.log("-------------")
        //对立面进行具体的赋值
        let [[a,b,c],{name,age},three2]=[[2,3,4],{name:'蔡徐坤',age:18},'hello'];
        console.log(a,b,c);
        console.log(name,age);
        console.log(three2);

3.5 用途

//1.交换变量的值
        let [a,b]=[250,666];
        //交换a b的值
        [a,b]=[b,a];
        console.log(a,b);
        //简洁、易读性强、语义格式清晰;
        //2.从函数返回值,一般都是单个值;如果要返回多个值的时候,必须将值放在数组、集合、对象中;
        //有了解构赋值之后,看一下
        function getArr() {
            return [4,9,16];
        }
        let [x,y,z]=getArr();
        console.log(x,y,z);
        //同样返回一个对象也一样;
        function getHost() {
            return {
                hostname:'ZTE',
                port:8088
            }
        };
        let {hostname,port}=getHost();
        console.log(hostname,port);
        //3.可以导入模块的指定方法
       // import {add,edit} from 'comm.js';

标签:console,log,name,解构,let,变量,赋值
From: https://blog.51cto.com/teayear/7414237

相关文章

  • Solidity-变量和数据类型[复合类型_1]
    复合类型的数据包括:array(数组)、struct(结构体)和mapping(映射),其中array和struct也称为引用类型。复合类型数组(array)数组(array)是一种用于存储相同类型元素的集合,分为固定长度的静态数组和长度可变的动态数组。需要注意的是,数组中的元素类型不能是映射类型(mapping),因为映射类型本身......
  • 局部变量和全局变量
    变量的作用域:局部变量全局变量 1)局部变量:在一个函数内部定义的变量或者函数的形参,统称为局部变量。eg:voidf(inti){intj=20;}     i和j都是局部变量2)全局变量:在所有函数外部的变量叫......
  • python查看变量类型
    在python中有两种方式来查看变量类型,一种是直接使用tpye(object)函数直接输出变量类型,另一种是使用isinstance(x,A_tuple)来判断变量是否属于某一类型,输出结果为True,则属于该类型,反之则不属于。type(object):使用type(object)函数查看数据的类型;alist=[1,2,3,4,5]print(......
  • javascript | 变量、函数、属性的命名规则
    javascript标识符的命名规则变量、函数、属性的名字、或者函数的参数,都可称为标识符。标识符可以是按照下列格式规则组合起来的一个或者多个字符。第一个字符必须是一个字母、下划线_、或美元符号$。数字不可以作为标识符的首字符。其他字符可以是数字、字母、下划线_、或美......
  • 通过指针变量存取一维数组元素
    通过指针变量存取一维数组元素下面展示一下。#include<stdio.h>intmain(){ inta[10],*p; for(p=a;p<a+10;p++) { scanf("%d",p); }for(p=a;p<a+10;p++) { printf("%d",*p); } printf("\n"); return0;}测试输入......
  • maven 与jdk的环境变量配置
    mavenjdk的环境变量配置exportJAVA_HOME=/usr/local/jdk-9.0.1exportPATH=$PATH:$JAVA_HOME/binexportCLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jarexportMAVEN_HOME=/usr/local/mavenexportPATH=$MAVEN_HOME/bin:$PATH......
  • Linux shell 环境变量 All In One
    Linuxshell环境变量AllInOne全局环境变量,systemwideenvironment系统级环境变量局部环境变量,localwideenvironment用户自定义环境变量shell的3种启动方式登录默认的交互式shell非登录的交互式shell运行脚本的非交互式shellshell的常见类型shba......
  • 解构赋值是深拷贝还是浅拷贝?
    letarr=[1,2,3]letnewArr=[...arr]newArr.push(4)console.log(arr)//[1,2,3]console.log(newArr)//[1,2,3,4]letarr2=[[1,2,3],[4,5,6]]letnewArr2=[...arr2]newArr2[0].push(100)console.log(arr2)//[[1,2,3,100],[4,5,6]]console.log(newArr......
  • qmake 配置文件中常见变量的含义
    qmake配置文件(通常是.pro文件)TARGET:指定项目的目标输出文件名,通常是可执行文件的名称。TEMPLATE:指定项目的类型,例如应用程序('app')或库('lib')。SOURCES:列出了项目中的源文件,包括C++源文件(.cpp)和其他支持的文件类型。FORMS:指定项目中使用的QtDesigner创建......
  • Set<String>怎么样赋值
    如果您是在Java中使用Set<String>类型,可以使用以下方法来赋值:使用构造函数赋值:Set<String>set=newHashSet<>(Arrays.asList("value1","value2","value3"));使用add()方法逐个添加元素:Set<String>set=newHashSet<>();set.add("......