【ES6丨前端进阶基础 】ES6的关键字,新特性以及解构赋值

news/2024/5/1 4:41:07/文章来源:https://blog.csdn.net/zhaochen1127/article/details/127114232

  • 💂 个人主页:Aic山鱼 
  •  个人社区:山鱼社区

  • 💬 如果文章对你有所帮助请点个👍吧!
  • 欢迎关注、点赞、收藏(一键三连)和订阅专

目录

前言

什么是ecmascrpit

一,let关键字的特点

1.不能重复声明变量

 2.块级作用域

3.不存在变量提升

 4.不影响作用域链

 二,let的使用

三,const 声明常量以及特点

四,const的变量解构赋值

1.数组的结构

 2.对象解构赋值

五,ES6新增字符串声明方式

1.反引号

2.新特性

 3.变量拼接

六,对象的简化写法

 七,箭头函数

写在最后 


前言

ES全称EcmaScript,是脚本语言的规范,而平时经常编写的JavaScript,是EcmaScript的一种实现,所以ES新特性其实指的就是JavaScript的新特性

什么是ecmascrpit

ECMA (European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这组织的目标是评估、开发和认可电信和计算机标准。1994年后该 组织改名为Ecma国际。ecmascrpit是由Ecma国际通过ECMA-262标准化的脚本程序设计语言。

一,let关键字的特点

1.不能重复声明变量

<script>let name = 'shanyu';let name = 'AIC';
</script>

 2.块级作用域

只能在块内使用,否则会报错

<script>       // 2.块级作用域,只在块内可使用(如:if,for,while,else){let name = '陆小果';}console.log(name);
</script> 

3.不存在变量提升

<script>// 3.不存在变量提升(也就是不允许先使用后声明)console.log(start);let start = '武器大师';
</script>

 4.不影响作用域链

 二,let的使用

<body><div class="container"><h2 class="page-header">点击切换颜色</h2><div class="item"></div><div class="item"></div><div class="item"></div></div><script>let item = document.getElementsByClassName('item');// 使用let声明变量,所声明的变量只在该块内使用所以可以用item[i]for (let i = 0; i < item.length; i++) {item[i].onclick = function () {item[i].style.background = 'skyblue';}}</script>
</body>

三,const 声明常量以及特点

<body><script>// 声明常量// 1.必须要赋初始值const NAME = '山鱼';// 2.一般常量使用大写(当然小写也不会报错,不成文规定)// 3.常量的值不能修改NAME = 'JHXL';// 4.块级作用域{const START = 'BALEITE';}console.log(START);// 5.对于数组和对象的元素修改,不算对常量值的修改,不会进行报错const PLAY = ['SYZ', 'PPD', 'NANDAO', 'UZI'];PLAY.push('ZHIXUN');</script>

四,const的变量解构赋值

1.数组的结构

<script>        
//1. 数组的结构const TW = ['赵天王', '钱天王', '孙天王', '李天王'];let [zhao, qian, sun, li] = TW;console.log(zhao);console.log(qian);console.log(sun);console.log(li);
</script>

 2.对象解构赋值

<script>       
const xiaopin = {name: '赵本山',age: '100',skill: function () {console.log('我是白云,我是黑土');}};let { name, age, skill } = xiaopin;console.log(name);console.log(age);console.log(skill);skill();
</script>

五,ES6新增字符串声明方式

1.反引号

 

2.新特性

 3.变量拼接

使用${}来拼接

<script> // 3.变量拼接 使用${}来拼接let hero = `山鱼`;let like = `${hero}爱吃猫`;console.log(like);
</script>

六,对象的简化写法

ES6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法

<body><script>// ES6允许只放变量进到对象里let name = '山鱼';let like = function () {console.log('我们一起学前端不放弃!');}const start = {name,like,skill() {// 可以省略冒号和functionconsole.log('我会ES6');}}console.log(start);</script>
</body>

 七,箭头函数

1.箭头函数this是静态的,this始终指向函数声明时所在作用域下的值

    <script>// let fn = (a, b) => {//     return a + b// }// 调用函数// let result = fn(3, 3);// console.log(result);// 特性// 1.this是静态的,this始终指向函数声明时所在作用域下的值function gName1() {console.log(this.name);}let gName2 = () => {console.log(this.name);}window.name = '山鱼';const like = {name: 'SHANYU'}// 直接调用gName1(); //返回值为’山鱼‘ gName2(); //返回值为’山鱼‘ // 用call调用,call可以改变函数内部值gName1.call(like);// 返回值为'SHANYU'gName2.call(like)//返回值为’山鱼‘
</script>

 2.不能作为构造函数作为实例化对象

<script>        // 2.不能作为构造函数作为实例化对象let Person = (name, age) => {this.name = name;this.age = age;}let it = new Person('旺财', 2);console.log(me);
</script>

 3.不能使用arguments

<script>// 3.不能使用arguments变量(arguments可以用来保存实参)let fn = () => {console.log(arguments);}fn(1, 2, 3);
</script>

 4.箭头函数的简写

<script>// 1,当形参有且只有一个的时候可以省略小括号let jia = a => {return a + a;}console.log(jia(9));// 2,当代码体只有一条语句的时候可以省略大括号let pow = n => n * n;console.log(pow(3));// 语句的执行结果就是返回值</script>

写在最后 

我是Aic山鱼,感谢您的支持
​原 创 不 易 ✨还希望支持一下
点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🦈社区:山鱼社区💌💌

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【持久层框架】- SpringData - JPA

SpringData - JPA &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f3c6; 一个有梦有戏的人 怒放吧德德 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xff0c;…

图解mysql(六)——内存篇

6 揭开Buffer Pool的面纱 6.1 为什么要有Buffer Pool&#xff1f; 虽然说 MySQL 的数据是存储在磁盘里的&#xff0c;但是也不能每次都从磁盘里面读取数据&#xff0c;这样性能是极差的。 要想提升查询性能&#xff0c;加个缓存就行了嘛。所以&#xff0c;当数据从磁盘中取出…

基于BootStrap的农业信息数据收集与管理平台设计

目 录 1 前言 1 1.1 研究背景 1 1.2 研究内容 1 1.3 研究意义 1 1.4 本论文工作和章节内容 2 2 系统环境与技术支持 3 2.1 系统环境 3 2.2 B/S架构 3 2.3 服务端技术 3 2.3.1 MVC模式 3 2.3.2 Spring框架 4 2.3.3 Hibernate框架 4 2.3.4 MySQL数据库 5 2.4 前端技术 5 2.4.1 Bo…

基于JavaWeb的企业出差费用报销管理系统设计与实现

目录 第一章 绪论 1 1.1 出差报销管理系统的开发背景 1 1.2设计目的与意义 1 第二章 系统需求分析 2 2.1 可行性分析 2 2.1.1 操作可行性 2 2.1.2 经济可行性 2 2.1.3 技术可行性 2 2.2方案的设计与比较 2 2.2.1 C/S设计结构和B/S设计结构比较 2 2.2.2 系统模式的设计 3 2.2.3系…

大二数据库实验-MySQL语句(Employee、Department、Salary)

实验所用到的的几张表&#xff1a; 显示Employee表中姓王的记录。 显示salary 表中InCome大于2000的数据。 显示salary 表中InCome在2500到3000之间的数据。 显示Employee表中在1968年下半年出生的数据。 分别显示三个表中总记录条数。 显示salary表中收入和支出总…

(附源码)计算机毕业设计ssm财务管理系统

毕设帮助&#xff0c;指导&#xff0c;本源码分享&#xff0c;调试部署(见文末) 3.2.1系统开发流程 财务管理系统开发时&#xff0c;首先进行需求分析&#xff0c;进而对系统进行总体的设计规划&#xff0c;设计系统功能模块&#xff0c;数据库的选择等&#xff0c;本系统的…

权限控制WAF绕过之木马混淆免杀

目录 前言&#xff1a; 绕过思路&#xff1a; &#xff08;一&#xff09;变量覆盖 &#xff08;二&#xff09;加密混杂 未加密前&#xff1a; 接口加密 加密后&#xff1a; WAF验证&#xff1a; &#xff08;三&#xff09;异或生成 0x01 原理&#xff1a; 0x02 适用…

线段树什么的最讨厌了

发现如果正着从一颗线段树搜到这一个区间,很难搜。所以考虑从一个区间搜出一颗线段树。 对于一个区间 \([l,r]\),他的父亲区间只可能是 \([2*l-r-2,r],[2*l-r-1,r],[l,2*r-l],[l,2*r-l-1]\) 四种情况。 发现无论往哪一种方向走,\(\frac{l}{r-l+1}\) 的值都会除以2.那么这么做…

建立对单片机/嵌入式启动、运行的整体认知

文章目录一、51单片机的启动过程二、STM32的完整启动流程分析1. 根据boot引脚决定三种启动模式2. 启动后bootloader做了什么&#xff1f;3. bootloader中对内存的搬移和初始化4. ISP、IAP、ICP三种烧录方式5. 参考资料从上电到启动&#xff0c;一文读懂STM32启动全流程1、直接上…

m基于FPGA的cordic算法实现,输出sin和cos波形(包括仿真录像)

目录 1.源码获取方式 2.算法描述 3.部分程序 4.部分仿真图预览 1.源码获取方式 使用版本matlab2022a 获取方式1&#xff1a; 点击下载链接&#xff08;解压密码C123456&#xff09;&#xff1a; m基于FPGA的cordic算法实现,输出sin和cos波形 获取方式2&#xff1a; 如…

程序员的数学课21 神经网络与深度学习:计算机是如何理解图像、文本和语音的?

在上一讲的最后&#xff0c;我们提到过“浅层模型”和“深层模型”。其实&#xff0c;人工智能的早期并没有“浅层模型”的概念&#xff0c;浅层模型是深度学习出现之后&#xff0c;与之对应而形成的概念。在浅层模型向深层模型转变的过程中&#xff0c;神经网络算法无疑是个催…

Vue2 生命周期

Vue 生命周期 概述在使用 Vue 时,我们需要执行一些 JS 代码。比如我们需要在页面中添加一个定时器来固定间隔更新时间。这时我们可能会想到直接在,Vue 实例外书写 JS 代码。这种方法能完成操作,但是 Vue 并不建议这样写。Vue 建议尽量在 Vue 实例中完成所有的操作。这时我们…

Hadoop3.X安装教程(Ubuntu)

前提:一台纯净的Ubuntu机器(虚拟机安装教程略) ctrl + alt + T 打开bash,全程使用bash指令进行,以hadoop 和 java 8为例 首先换源进入root账户 sudo su -升级软件列表 apt-get update安装vim apt install vim中途询问直接输入Y确认下载hadoop和java 创建/data mkdir /data…

半导体中的缺陷和位错能级

点缺陷&#xff1a; 在一定的温度下&#xff0c;组成晶体的格点原子在平衡位置附近做振动&#xff0c;这些振动就会有强有弱&#xff0c;这样会使得一部分原子可以获得足够的能量&#xff0c;而挣脱周围电子对它的束缚&#xff0c;挤入间隙位置&#xff0c;这样的结果就形成了…

211西北大学,计算机、软件学硕和专硕专业课都变难了!

西北大学位于陕西省西安市&#xff0c;是一所211大学。西北大学计算机学科评估B-&#xff0c;软件工程学科评估B&#xff0c;计算机实力在211大学中处于中上游水平&#xff0c;还算不错。西北大学前段时间公布了23考研的招生目录&#xff0c;我们来看一下&#xff1a;西北大学2…

Unity的UI框架

UI框架 UI框架的含义 含义&#xff1a;UI框架用于管理场景中所有的面板&#xff0c;负责控制面板之间的跳转 UI框架的意义 1、随着游戏系统的复杂化&#xff0c;UI控件越来越多&#xff0c;各个UI之间的直接通讯&#xff0c;已经UI与GameObject之间的关系会越来越复杂 2、代…

盘点一个Python自动化办公的实战案例

点击上方“Python共享之家”&#xff0c;进行关注回复“资源”即可获赠Python学习资料今日鸡汤岭猿同旦暮&#xff0c;江柳共风烟。大家好&#xff0c;我是皮皮。 一、前言前几天在Python钻石交流群【Hxy任我肥】问了一个Python自动化办公的问题&#xff0c;提问截图如下&am…

基于Vue+SSM+SpringCloudAlibaba的英雄管理系统

需求 前端技术&#xff1a;element-ui、vue后端技术&#xff1a;spring boot、spring cloud、mybatis plus、jwt项目要求&#xff1a; 前端&#xff1a;exam-war-fore-1217后端&#xff1a;exam-war-parent-1217端口要求&#xff1a; 注册中心&#xff1a;10086、10087 &#x…

福特、微软、槟榔-《软件方法》自测题解析019

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> 《软件方法》第2章自测题2 1 [单选题] 1999年11月的《财富》杂志题为“20世纪企业家”的文章&#xff0c;评选出了最能代表20世纪企业家精神的企业家─福特汽车的Henry F…

云原生|kubernetes|ingress-nginx插件部署以及简单的应用

前言&#xff1a; ingress直译&#xff1a;进口&#xff1b;入口&#xff1b;初切&#xff1b;进入&#xff1b;进入资格&#xff1b;进入权。在kubernetes中&#xff0c;它指的是网络入口。 ingress概述&#xff1a; 通俗来讲&#xff0c;Ingress和之前提到的Service、Depl…