es6的语法糖,展开运算符,类的实现

news2024/9/30 3:36:04

1.0 ES6语法糖 [重点]

1.1数组的解构赋值

// 声明多个变量
let [a,b,c] = [1,2,3]

let a=1,b=2;
// 交换数值
[a,b] = [b,a]
2

 1.12 函数的参数结构

 

 

1.2对象的解构

 

对象存在键值对,如果需要解构对象,你需要使用对象的键名为变量名

let data = {
    code:200,
    msg:'哥你请求通了',
    dataList:{
        res:[],
        data:{}
    }
}
let {需要结构的键名} = 需要结构的对象
let {code,dataList} = data
​

 

 

1.3 展开运算符

字符串的展开

    // 字符串的展开
    const str = 'hello world!'
​
    console.log(...str);  h e l l o w o r l d !
    console.log([...str]); // 相当于split

    console.log({ ...str }); 

 

数组的展开

    // 数组的展开
    const arr = [1, 2, 3, 4, 5]
    const arr1 = [666, 666, 66, 5, 777]
    console.log(...arr); 1 2 3 4 5

    console.log([...arr]);  // 数组的浅拷贝

    console.log([...arr, ...arr1]); // 合并数组
​
    const list = document.querySelectorAll('ul li') 
    console.log('list', [...list]);  // 将伪数组转为数组
​

 

对象的展开

​
    // 对象的展开
    const obj = {
        name: '小明',
        age: 66,
        like: '金花宝宝'
    }
​
    // console.log(...obj); // 报错
    // console.log([...obj]);// 报错
    console.log({ ...obj }); // 浅拷贝
    console.log({ ...obj, ...{ name: '二狗', sex: '男' }, phone: 123123 }); // 对象的合并

1.4 模板字符串

`${xxx}`

1.5 对象简明写法

对象的简明写法1:

// 如果对象中键名与键值(变量)是一样的,可以简写成一个
let name = '张无忌'
const data = [123]
const obj ={
    name,
    data,
}

对象的简明写法2:

// 对象中的方法(函数),可以简写,去掉:及function
const obj = {
    fn:function(){
        // 函数体
    },
    // 简写为:
    fn(){
        // 函数体
    }
}
​

2.0 class类

2.1 什么是类?

具有相同特征的一类事物的抽象

2.2 类的实现

1、使用class关键字

2、类的动态属性定义在构造器中(constructor),如果没有定义构造器,浏览器会自动生成一个空的构造器

3、类的方法直接定义在类种,自动挂载到原型对象上

4、静态方法以static关键字开头,只能构造函数自己调用,实例对象不可以调用

 

2.3 类的继承

1、类的继承通过关键字extends 来实现继承关系

2、子类必须在构造器中调用关键字super(),super就代表父类、超类、基类

3、子类的动态属性需在调用父类super之后

3.0 es6的模块化

模块化优点:【重点】

解决命名冲突,易于维护,责任单一

模块化的特点:【了解】

*一个JS文件,就是一个独立的模块,模块之间,可以相互地导入和导出*

语法:

import : 用于导入其他模块提供的功能

export : 用于暴露该内容,以便其他地方导入

写法一:

导出:
    export 你要导出的内容1;
    export 你要导出的内容2;
    export 你要导出的内容3;
    export 你要导出的内容4;    
    
导入:
    import {  你要导入内容1,你要导入内容2,你要导入内容3,... } from '路径名/文件名'
​

写法二:

导出 :
    export default 你要导出的内容

导入 :
    import 变量名 from '路径名/文件名'

 

 

 

#a.js 定义需要暴露的内容
const data = 100
export default { data, isShow: true }
​
#b.js 引入需要使用的内容
// 默认导出
import 变量 from './a.js'
console.log(变量);
​
#在html文件中引入b.js
<script src="./module/b.js" type="module"></script>
​
# 一定要记得加上type 为 module 
# 启动时要用虚拟服务器

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/485764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flask 知识点整理

文章目录 1.URL与视图的映射带参数的url&#xff1a;将参数固定到了path中查询字符串的方式传参 2.模板渲染给html文件传参 3.模板访问对象属性User 是个类User是个字典 4.过滤器的使用通过一个 | 管道符进行过滤自定义过滤器 5.控制语句iffor 1.URL与视图的映射 带参数的url&…

IIC总线简介

IIC总线 IIC总线是Philips公司在八十年代初推出的一种串行、半双工总线 主要用于近距离、低速的芯片之间的通信&#xff1b;IIC总线有两根双向的信号线一根数据线SDA用于收发数据&#xff0c;一根时钟线SCL用于通信双方时钟的同步&#xff1b;IIC总线硬件结构简单&#xff0c;成…

第9章 项目成本管理

文章目录 9.1.1 成本与成本管理概念 329项目成本管理的过程 9.1.2 相关术语 331成本的类型&#xff08;6种&#xff09;应急储备与管理储备 9.2.3 项目成本管理计划制订的 输出 3349.3.1 项目成本估算的主要相关因素 335项目估算还需要考虑但 容易被忽视的 主要因素 9.3.2 项目…

贪心 题目集

任务安排问题 某个系统中有一个设备&#xff0c;该设备每次只能分配给一个任务使用&#xff0c;且只有当任务结束后才能再分配给另一个任务使用。 假设系统启动时间计为时间0点&#xff0c;预先有一份任务计划表&#xff0c;预定了每个任务的开始时间点和持续时间。 要求设计算…

[大二下]手把手1小时下载Pandoc

老规矩先给各位友友们提供参考解决方法,再说为啥是怎么和这哥们结缘的~ 为了能更加详细,小卓又卸载了重装了一遍!!! 所以麻烦各位佬, 能给个赞, 谢谢各位佬了,坦诚的说,因为友友们免费的点赞收藏,却是我写下去的动力~ 第一步:进入官网(如果没有科学上网的可能比较慢, 如果真的…

腾讯云 Ubuntu Desktop 22.04 桌面版

安装 Ubuntu Server 22.04 安装 Ubuntu Server 22.04重置登陆密码&#xff0c; 默认用户名 ubuntu 添加用户 不建议直接使用默认用户&#xff0c; 添加用户&#xff08;demodeom&#xff09; sudo adduser demodeom将 demodeom 添加到 sudoer 文件 sudo visudo在文件末尾添…

2023五一赶制个人系统:基于SpringBoot+MyBatisPlus+Vue+ElementUI前后端分离

小钊记前言 &#x1f351;一、背景&#x1f351;二、调研准备阶段&#x1f34a;2.1、项目-自己搭建&#x1f353; 搭建步骤 &#x1f34a;2.2、项目需求-自己X造&#x1f34a;2.2、数据模型设计 &#x1f351;三、开发阶段&#x1f351;四、renxiaozhao 1.0.0-alpha发布&#x…

BPMN2.0 任务-服务任务

服务任务是任务的一种,工作由软件自动完成,比如一个Web服务或者一个自动化的应用。 服务任务用于调用服务。 在flowable中分为java服务任务,用于调用java类,web服务任务用于同步的调用外部的web服务。 在Camunda是通过调用java代码或者为外部执行者提供一个工作单元来完…

真题详解(ICMP)-软件设计(六十五)

真题详解&#xff08;对象&#xff09;-软件设计&#xff08;六十四)https://blog.csdn.net/ke1ying/article/details/130459425 程序的三种基本控制结构&#xff1a;顺序、选择和重复。 在网络系统中&#xff0c;通常吧_____置于DMZ区。 答案&#xff1a;Web服务器 解析&am…

STL常用梳理——VECTOR常用接口及其迭代器实现

Vector篇 Vector介绍Vector实现1、定义默认构造函数使用实现 2、迭代器Iterator迭代器使用 3、空间增长问题使用实现 迭代器迭代器介绍迭代器实现 Vector介绍 vector是STL中容器之一&#xff0c;特性如下&#xff1a; vector是表示可变大小数组的序列容器。就像数组一样&#…

【python入门篇】你好python

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; Python入门&#xff0c;本专栏主要内容为Python的基础语法&#xff0c;Python中的选择循环语句…

软件测试实战,Web测试详细总结 (覆盖所有测试点),你要的都有

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Web自动化测试&…

Python 将 PDF 转换为 Word

大家好&#xff0c;我是水滴~ 在平时的工作中&#xff0c;我们总会希望将需要的 PDF 文件转换为 Word 文件&#xff0c;而市面上很多工具都是收费的&#xff0c;这无疑增加了我们的成本。 所以&#xff0c;我使用 Python 编写了一个转换代码&#xff0c;可以 将 PDF 转换为 W…

从远程桌面客户端提取明文凭证的工具RdpThief

导语&#xff1a;在本文中&#xff0c;我将描述我编写的一个工具&#xff0c;能使用API钩子从Microsoft RDP客户端提取明文凭据&#xff0c;而且如果是在已经受感染用户的权限下操作&#xff08;比如网络钓鱼导致&#xff09;&#xff0c;并且该用户已打开RDP会话&#xff0c;则…

elasticsearch 使用 RestAPI 操作索引库

1.mysql与elasticsearch 我们统一的把mysql与elasticsearch的概念做一下对比&#xff1a; MySQLElasticsearch说明TableIndex索引(index)&#xff0c;就是文档的集合&#xff0c;类似数据库的表(table)RowDocument文档&#xff08;Document&#xff09;&#xff0c;就是一条条…

如何从0到1落地自动化测试?何为成熟模型?测试老鸟的总结...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 过去十年&#xf…

离散数学_九章:关系(5)

&#x1f6a9;9.5 等价关系 1、等价关系&#xff08;Equivalence Relations&#xff09;等价关系等价的元素&#x1f4d8;例1&#xff1a;模m同余 &#x1f4d8;例2&#xff1a;字符串 &#x1f4d8;例3&#xff1a;整除 2、等价类&#xff08;Equivalence Classes&#xff09…

DP动态规划

1.背包问题 1.1 0/1背包 1.1.1经典做法 def solve(N,C): # 从左到右&#xff0c;从上到下 &#xff08;先种类&#xff0c;再体积&#xff09;for i in range(1,N1): # N种物品&#xff0c;先1种&#xff0c;再2种......for j in range(0,C1): # 当前背包体积if c[i]>j :…

武忠祥老师每日一题||定积分基础训练(四)

已知&#xff0c; ln ⁡ ( x 1 x 2 ) 为奇函数&#xff08;证明放在文章末尾&#xff09; \ln (x\sqrt{1x^2})为奇函数&#xff08;证明放在文章末尾&#xff09; ln(x1x2 ​)为奇函数&#xff08;证明放在文章末尾&#xff09; 所以&#xff0c; ∫ − 2 2 ln ⁡ ( x 1 …

13万字林业局信息化设计信息化及数据中心、森林防火平台建设方案

1.1.1 应用系统集成平台 集成平台起到“承下启上”的作用&#xff0c;“承下”是指其基于数据中心&#xff0c;提供数据关联、处理和转换等服务&#xff0c;“启上”是指其为上层应用系统提供数据和整合服务。此外&#xff0c;集成平台也为系统与外部系统、外部资源提供交换和…