ES6学习模板字符串、解构赋值(三)

这里写目录标题

一、模板字符串

ES6模板字符串用反引号 `` 标识,${}这样的方式简化了字符串中嵌入变量的写法。

js 复制代码
           const oBox = document.querySelector('.box');
            let text = "hello,es6!";
            //传统写法
            //let htmlTel = "<p>" + text + "</p>";
            //模板字符串写法
            let htmlTel = `<p>${text}</p>`;
            oBox.innerHTML = htmlTel;

二、解构赋值

解构赋值是对赋值运算符的一种扩展,通常是针对数组和对象进行操作。优点是使得代码书写简洁易读性高。

2.1、数组解构

在以前,为变量赋值,只能直接指定值

js 复制代码
            let a=1;
            let b=2;
            let c=3;

ES6允许我们这样写:

js 复制代码
         let [a,b,c]=[1,2,3];

如果解构不成功,变量的值就等于undefined,例如:

js 复制代码
	let [a,b,c,d]=[1,2,3];

2.2、对象解构

js 复制代码
          let book={
                name:'ES入门学习',
                price:'20.99'
            }
            let{name,price}=book;

对象的解构赋值时,可以对属性忽略和使用剩余运算符

js 复制代码
            let obj = {
                a: {
                    name: '张三'
                },
                b: [],
                c: 'hello world'
            }
            //可忽略 忽略b,c属性
            let {a} = obj;
            console.log(a);

2.3、函数参数解构

js 复制代码
        function demo([x,y]) {
            return x+y;
        }    
        console.log(demo([1,3]));

2.4、解构用途

2.4.1、交换变量值

js 复制代码
            let a=2;
            let b=5;
            [a,b]=[b,a];

上面代码交换变量a和b的值,这样的写法简单易读,但是要注意变量重复声明问题。

2.4.2、从函数返回多个值

函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。

js 复制代码
        function demo() {
            return [1,2,3]
        } 
        let [a,b,c]=demo();

2.4.3、提取JSON数据

解构赋值对提取 JSON 对象中的数据,尤其有用

js 复制代码
            let jsonData = {
                id: 42,
                status: "OK",
                data: [867, 5309]
            };
            let { id, status, data: number } = jsonData;
            console.log(id, status, number);
相关推荐
低代码布道师5 分钟前
Next.js 16 全栈实战(一):从零打造“教培管家”系统——环境与脚手架搭建
开发语言·javascript·ecmascript
一位搞嵌入式的 genius25 分钟前
深入 JavaScript 函数式编程:从基础到实战(含面试题解析)
前端·javascript·函数式
choke23344 分钟前
[特殊字符] Python 文件与路径操作
java·前端·javascript
wuhen_n1 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:GUI桌面应用开发的实现
python·学习·flutter
鹿心肺语2 小时前
前端HTML转PDF的两种主流方案深度解析
前端·javascript
编程小白20262 小时前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要2 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
深蓝海拓2 小时前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
酒鼎2 小时前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5