【ES6篇新语法】(1)ES6介绍及常量声明、对象数组,附实例详解

news2024/10/7 10:21:05

【写在前面】
应一些粉丝的要求,整理一些ES6相关的文章,因此借这个岁末之际,给大家整理一篇ES6的相关的博客,不管是面试还是在实际的编程上,我们都常提到ES6这个词,可能前几年比较热门,希望大家能够通过这一篇文章就能知道ES6的整体概念及新语法的使用。

文章目录

  • 1、ES6是啥
  • 2、ES6新语法(部分)
    • 2.1 变量常量作用域let和const
      • A、let和var区别实例
      • B、为啥要用let取代var
      • C、let和const如何选择
      • D、const字符串(动态与静态)
      • E、const解构赋值
        • E1 数组解构(定义常量)
        • E2 函数解构
        • E3 控制台函数解构实例应用
      • F、const定义对象
        • F1 对象定义逗号的规范
        • F2 getKey动态添加对象属性
      • G、const操作数组
        • G1 扩展运算符 ... 实现拷贝
        • G2 Array.from()转换成数组
  • 3、ES6的此篇新属性总结(待续)
  • 4、邀您入皇榜

1、ES6是啥

ES表示的是ECMAScript,6代表的是6.0版本,其实ECMAScript这个概念好早之前就有了,有个标准化组织ECMA,开发的一套语言想要成为一个国际标准需要提交上去审核才能成功,为啥你定义变量能统一用var,为啥输出可以用console.log(),这些都是语法标准,需要得到全球公认,你就得去专门的机构审批。
一开始ECMA就设定了一套ECMAScript标准语言,主要是针对浏览器脚本的,最早版本叫ECMAScript1.0,其实这个标准说到底就是为JavaScript语言而定制的,因版权商标问题所以没有叫JavaScript1.0啥的,随着后续语言的发展与迭代,之前定制的一些标准也不再适用于后续大业务的需求了,因此那套标准体系也在不断的更新,从ES1到现在ES13,其中有好多版本都是不稳定的,好多人也就没在乎了,当然ES6也算是一次大版本的更新,另外也受大家喜爱,所以才被大家所推崇与学习。
下面着重给大家罗列一些ES6新语法,通过实例给大家展示她所带来的便捷性与实用性。

2、ES6新语法(部分)

2.1 变量常量作用域let和const

之前我们最常用的声明变量的命令是var,ES6后续提出了新的声明变量命令let 和const

A、let和var区别实例

let 虽然可以取代 var,但他们的语义相同,但是存在作用域不同;下面例子就可以提现出来啦:
在这里插入图片描述
从输出结果不难发现var定义的是全局的概念,但是let定义的是有局部作用域的,只能在if里面使用,此处为啥我更换变量名,因为你在控制台测试会有缓存记录。

B、为啥要用let取代var

我们变量声明有个规则,先声明后使用,但是我发现先使用后声明在var是可以用的,只是输出undefined而已,程序是能通的,但是let声明这变量就是会报错。那么就会有人问啦,都弱语言了在乎那么多干嘛,那么这样说的话我们也没必要定制这些规则了,既有规则我们应该做好规范。规则规则就是养成好的规范准则(个人理解)
在这里插入图片描述

C、let和const如何选择

const是定义常量而非变量的概念,不能随意修改其值。
在她们两者之间首选const,尤其是在全局变量的使用。优点体现在:便于阅读、有利于分布式运算、提升程序运行效率。
下面命名优化排名如下:
在这里插入图片描述

D、const字符串(动态与静态)

定义静态和动态字符串,单引号和反引号的应用
因为是常量,所以始终是不给修改的,但是要赋值的话,用反引号是最合适的,每种方式都行,但是反引号最优,尽量摒弃双引号,如下所示:
在这里插入图片描述

E、const解构赋值

解构赋值是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值 解构赋值,左右结构必须一样。如下所示:

E1 数组解构(定义常量)

在这里插入图片描述

E2 函数解构

在这里插入图片描述

E3 控制台函数解构实例应用

在这里插入图片描述
当函数返回的是多个值的时候,返回时候建议用对象解构的方式,这样也又便于获取返回值,如下所示:
在这里插入图片描述

F、const定义对象

F1 对象定义逗号的规范

定义对象时,如果单行的话最后一个对象不要加逗号,多行的话最后一个加逗号,如下所示:
在这里插入图片描述
定义好的对象不要随意更改,但是迫不得已需要添加新对象属性的话,需要用Object.assign方法,如下所示应用
在这里插入图片描述

F2 getKey动态添加对象属性

如果对象属性名是动态的,在声明对象时候可以使用对象表达式进行定义
在这里插入图片描述
在这里插入图片描述
【注意】此处切记我们要事先声明好getKey,不然会出现报错Uncaught ReferenceError: getKey is not defined的现象。
声明对象时候应做到能简尽简。如下所示的对象属性名和函数;
在这里插入图片描述

G、const操作数组

G1 扩展运算符 … 实现拷贝

使用扩展运算符 (…)实现数组的拷贝,这个的拷贝既不是深拷贝也不是浅拷贝,只能说一半一半,因为第一层是深拷贝,第二层是浅拷贝。
应用实例如下:
在这里插入图片描述
别的不说,就这代码量的差距,看着右边的就舒服,给人的水准就很高的感觉。

G2 Array.from()转换成数组

对象(类似数组格式的)转化成数组,通过实现Array.from()函数
在这里插入图片描述
字符串转数组
在这里插入图片描述
Array.from()修改数组的值,其中里面可以包含两个参数。
在这里插入图片描述

3、ES6的此篇新属性总结(待续)

主要归纳为以下几点
A、声明变量常量命令let和const
B、静态字符串和动态字符串
C、解构赋值
D、对象定义规范及动态添加对象属性
E、扩展运算符(…)实现数组拷贝
F、Array.form()实现数组转换与操作

4、邀您入皇榜

如果觉得这篇文章对您有帮助的话,想支持博主的可以上皇榜看看哟,皇榜点击此处进入

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

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

相关文章

焊接变形的原因以及防止焊接变形的措施

焊接变形的原因   在焊接过程中对焊件进行了局部的、不均匀的加热是产生焊接应力及变形的原因。焊接时焊缝和焊缝附近受热区的金属发生膨胀,由于四周较冷的金属阻止这种膨胀,在焊接区域内就发生压缩应力和塑性收缩变形,产生了不同程度的横向…

喜报!西门子低代码连续四年获评Gartner企业低代码应用平台魔力象限领导者

点击下载最新发布的Gartner魔力象限图™https://www.mendix.com/resources/gartner-magic-quadrant-for-low-code-application-platforms/?utm_mediumpr&utm_campaignMQ&utm_sourceMQ#formWrapper 想象一下,一个为持续数字化转型做好准备的组织会是什么样…

EXTI中断以及系统滴答定时器SysTick的配置和使用

前言 EXTI中断来判断按键按下 EXTI即外部中断/事件控制器,总共支持19个中断/事件请求。每一条中断线都有独立的使能和产生中断后的标志位。 上图可见,中断/时间线0-15,总共16条线分配给了IO,通过设置AFIO的AFIO_EXTICR1、AFIO_…

内核调试之Kdump的原理及配置

术语介绍生产内核(production kernel):产品或者线上服务器当前运行的内核。捕获内核(capture kernel):系统崩溃时,使用kexec启动的内核,该内核用于捕获生产内核当前内存中的运行状态…

【windows terminal】普通用户免密ssh登录阿里云linux服务器

创建用户 [rootxxx~]# adduser linuxcool创建密钥 使用如下命令创建密钥 [rootxxx~]# ssh-keygen -t rsa创建的密钥路径 Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. 将公钥导入authorized_keys&…

《Go 并发数据结构和算法实践》学习笔记 Day 2

系列文章目录 这是本周期内系列打卡文章的所有文章的目录 《Go 并发数据结构和算法实践》学习笔记 Day 1_jahentao的博客-CSDN博客 文章目录系列文章目录前言一、Skiplist是什么?(What)Skiplist的基本接口查找元素插入元素删除元素二、并行化改造1.并发查找2.并发删…

struts漏洞总结

目录 概述 struts2漏洞 S2-001 漏洞原理 复现 struts2漏洞 S2-005 原理 分析一下003 复现 struts2漏洞s2-007 struts2漏洞 S2-008 原理 复现 struts2漏洞 S2-009 原理 复现 struts2漏洞 S2-012 原理 复现 struts2漏洞 S2-013 原理 复现 struts2漏洞 S2-0…

闭包中的内存泄漏

一.闭包的内存泄漏 1.为什么有些AO对象就不会被销毁? 1)普通函数中 上述代码在执行foo函数的时候,内存中的过程。 执行完foo函数之后,foo的函数上下文被销毁了,那么就不会指向foo的AO对象了。 那么AO对象也会被销毁…

格创东智蝉联入选工信部工业互联网APP优秀解决方案名单

1月13日,工信部发布《2022年工业互联网APP优秀解决方案名单公示》,由格创东智研发的 “基于深度学习技术的 AI智能检测(天枢AI)APP 应用解决方案”、“面向泛半导体行业的设备自动控制(EAP)APP解决方案”入…

一文详解SPI通信原理

首先我们先了解一下单工、半双工、全双工是什么概念 概念:(Serial Peripheral Interface,串行外设接口),是一种全双工协议的外设总线,同步串行通信 单工:电视 半双工:呼叫机 全双工:电话 SPI是单主设备(Single Master)通信协议&#xff…

商业智能 BI 赋能年底的财务分析

职场中总有些不能说的秘密,比如月底和年底的时候,千万不要去惹财务!尤其是年底,财务部门需要统计分析一整年的费用支出和经营收入,各种结算分析,还有新一年的预算,数据量庞大、业务系统分散、报…

【SpringCloud14】SpringCloud Bus消息总线

1.概述(对于Config的加深和扩充) 1.1 分布式自动刷新配置功能 SpringCloud Bus配合SpringCloud Config使用可以实现配置的动态刷新 Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,它整合了Java的事件处理机制和…

Web(八)

XML概念&#xff1a;Extensible Markup Language 可扩展标记语言可扩展&#xff1a;标签都是自定义的。 <user> <student>功能* 存储数据1. 配置文件2. 在网络中传输xml与html的区别1. xml标签都是自定义的&#xff0c;html标签是预定义。2. xml的语法严格&#xf…

使用 npm 包

小程序对 npm 的支持与限制 目前&#xff0c;小程序中已经支持使用npm 安装第三方包&#xff0c;从而来提高小程序的开发效率。但是&#xff0c;在小程序中使用npm包有如下3个限制: ① 不支持 依赖于Node.js内置库 的包 ② 不支持 依赖于浏览器内置对象 的包 ③不支持 依赖于C插…

代码签名证书是如何进行验证工作的

代码签名证书是通过对代码的数字签名来标识软件来源以及软件开发者的真实身份&#xff0c;保证代码在签名之后不被恶意篡改。使用户在下载已经签名的代码时&#xff0c;能够有效的验证该代码的可信度&#xff1b;同时证书又分为个人型&#xff08;iv&#xff09;、企业型&#…

进程大杂烩

1、fork函数的使用 使用fork()函数创建一个进程 pid_t fork(void) fork函数调用成功&#xff0c;返回两次 返回为0&#xff0c; 代表当前进程是子进程 返回为正数&#xff0c;代表当前进程为父进程 fork()函数运行后会创建一个进程&#xff0c;加上开始的进程一共有两个进程&am…

第一天总结 之 用户管理界面的实现 之 模糊查询和分页操作

第一天总结 之 用户管理界面的实现 之 模糊查询和分页操作 1、明确页面的跳转 当登录操作执行时 如果正确 跳转到 UserFuzzySelectServlet 即用户模糊查询的select 注&#xff1a;因为第一次写项目 对于很多操作都不熟悉 很多前期操作没 有 按着 见名之意 …

迎兔年 贺新春 | vLive虚拟直播新年场景上线!

为了带来更为舒适的用户体验给用户提供更好的线上活动品质vLive虚拟直播2.3.1版本进行了优化升级还有多个新春场景上新全新升级的vLive又增添了哪些亮点一起来快速了解一下吧场景上新&#xff1a;新春活动更出彩农历新春降至如何让拜年视频更出众&#xff1f;如何让新年直播更精…

【C++】为什么C++会支持函数重载

文章目录 函数重载 1.概念 2.支持函数重载的原理 2.1准备知识 2.2原理 函数重载 1.概念 在C语言中&#xff0c;是不允许同名函数存在的。但是在一个作用域种&#xff0c;比如加法函数&#xff0c;想要实现各种类型的数据相加&#xff0c;要定义多个函数&#xff0c;但是…

设计模式-七大原则

设计模式 聚合 设计模式追求的是 1.代码重用性&#xff08;相同功能的代码不用重复编写&#xff09; 2.可读性&#xff08;规范性&#xff0c;便于其他程序员阅读和理解&#xff09; 3.可扩展性&#xff08;增加新的功能非常方便&#xff09; 4.可靠性&#xff08;增加新的…