JavaScript ES6新特性

article/2025/11/10 5:14:30

JavaScript ES6带来了新的语法和特性,使得代码更加的现代和可读。它包括许多重要功能,如箭头函数、模板字符串、解构赋值等等。

const 和 let

const 是 ES6 中用于声明变量的新关键字。const 比 var 强大。一旦使用,变量就不能重新分配。换句话说,它声明的是一个只读的常量。

这对于定位选择器非常有用。例如,当我们有一个触发事件的按钮时,或者当您想在JavaScript中选择HTML元素时,请使用const而不是var。

	// ES5var btn = document.getElementById("btn");// ES6const btn = document.getElementById("btn");

在上面的代码中,const不会更改,也不能重新分配。如果尝试给它一个新值,它将返回一个错误。

{let a = 0;a   // 0
}
a   // 报错 ReferenceError: a is not defined

let和var的区别在于 let 是在代码块内有效,var 是在全局范围内有效。

箭头函数

箭头函数使代码更可读、更结构化,并且看起来更加时髦。

function myFunc(name){console.log('Hello '+ name);
}
myFunc('World');

使用箭头函数替代上述代码

const myFunc = name => {console.log(`Hello ${name}`);
}
myFunc('World');// 没有参数的写法
const myFunc = () => {console.log(`Hello World`);
}

模板字符串

模板字符串的产生使我们在进行字符串和变量拼接时不需要使用 “+” 号来实现。

传统写法

var name = 'World'
console.log('Hello ' + name);	

ES6 写法

let name = 'World'
console.log(`Hello ${name}`);	

新写法使用了 `` 用来替代引号, ${} 中放置变量名。这使得代码更有条理和结构性。

默认参数

php 中可以在函数中定义默认参数,ES6中也引入了这一特性。因此,当您忘记写入参数时,它不会返回未定义的错误,因为该参数已定义默认值。

const myFunc = (name) => {console.log(`Hello ${name}`);
}
myFunc(); // 输出 Hello undefined

定义默认参数

const myFunc = (name='World') => {console.log(`Hello ${name}`);
}
myFunc(); // 输出 Hello World

解构赋值

结构赋值使数组或对象的值更容易分配给新变量。

数组 Array 的解构

let [a, b, c] = [1, 2, 3];
// a = 1
// b = 2
// c = 3

对象模型 Object 的解构

let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
// foo = 'aaa'
// bar = 'bbb'let { baz : foo } = { baz : 'ddd' };
// foo = 'ddd'

Import 和 export

字面意义为 “导入” 和 “导出” ,在任何JS MVC框架中(类似 vue 项目)它们大多数时候都使用导入和导出来处理组件。

示例可参考:https://blog.csdn.net/weixin_43930421/article/details/124745006

Promise 对象

Promise 是一种编写异步代码的方法。例如,当我们想从API获取数据时,或者当我们有一个需要花费时间才能执行的函数时,可以使用它。简言之,Promise 是异步编程的一种解决方案。

const myPromise = () => {return new Promise((resolve, reject)=>{resolve('Hello Promise');})
}
console.log(myPromise());

以上打印结果返回的是一个 Promise 对象,fulfilled 代表的是已成功的状态,Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。
在这里插入图片描述

使用 then 方法处理数据。

const myPromise = new Promise(function(resolve,reject){resolve('Hello Promise');
});myPromise.then((value)=>{console.log(value);
});

rest 参数和扩展运算符

rest参数(形如 “…变量名” )用于获取数组的参数,并返回一个新数组,可替代函数arguments变量。

function restFunc(...a){console.log(a);
}
restFunc('325', 222); // ['325', 222]

扩展运算符是三个点(…),好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。

function restFunc(...a){console.log(a);}
restFunc(...['325',222]); // ['325', 222]

可用于合并数组

let a = [1];
let b = [2, 3];
a = a.concat(b);
console.log(a); // [1, 2, 3]let c = [...a, ...b];
console.log(a); // [1, 2, 3]

Class 类

类是面向对象编程(OOP)的核心。在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类。

class MyClass{constructor(a) {this.a = a;console.log('Hello Class')}
}new MyClass();

更多新特性可查阅:https://www.runoob.com/w3cnote/es6-tutorial.html


http://chatgpt.dhexx.cn/article/Nig5cxcZ.shtml

相关文章

ES6必须知道的六大新特性

ES6 ES6新特性-let&const 使用const表示常量(声明之后不允许改变,一旦声明必须初始化,否则会报错) //ES6 常量 不能修改const b2;b3;//Uncaught TypeError: Assignment to constant variable.console.log(b);使用var声明的…

ES6中有哪些新特性?

ES6中的新特性(一) ECMAScript6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 我们来看看…

面试题!es6新特性

es6新特性 ECMAScript 6(ES6) 目前基本成为业界标准,它的普及速度比 ES5 要快很多,主要原因是现代浏览器对 ES6的支持相当迅速,尤其是 Chrome 和 Firefox 浏览器,已经支持 ES6 中绝大多数的特性。 以下是一些常用到的es6新特性&…

es6的8条新特性总结

es6的8条新特性总结 认识es61.块级作用域变量(let和const)2.箭头函数3.模板字符串4.解构赋值5.默认参数6. 扩展运算符7. 类和继承8.Promise 认识es6 ES6(ECMAScript 2015)是JavaScript的新版本,引入了许多新特性和语法…

最全的—— ES6有哪些新特性?

目录 ES6新特性1、let和const2、symbol3、模板字符串3.1 字符串新方法(补充) 4、解构表达式4.1 数组解构4.2 对象解构 5、对象方面5.1 Map和Set5.1.1 Map5.1.2 Set 5.3 数组的新方法5.3.1 Array.from()方法5.3.2 includes()方法5.3.3 map()、filter() 方…

GWAS分析中协变量的区分(性别?PCA?初生重?)

1. 电子书领取 前几天发了一篇GWAS电子书分享,异常火爆,阅读量8000,很多人评价比较基础。这本电子书主要特点是比较基础,GLM模型用软件和R语言进行比较,如何添加数字协变量、因子协变量、PCA等内容,可以说…

时间序列 工具库学习(5) Darts模块-多个时间序列、预训练模型和协变量的概念和使用

1.实验目的 此笔记本用作以下目的: 在多个时间序列上训练单个模型使用预训练模型获取训练期间未见的任何时间序列的预测使用协变量训练和使用模型 2.导库 # fix python path if working locally from utils import fix_pythonpath_if_working_locallyfix_python…

Mplus数据分析:随机截距交叉之后的做法和如何加协变量,写给粉丝

记得之前有写过如何用R做随机截距交叉滞后,有些粉丝完全是R小白,还是希望我用mplus做,今天就给大家写写如何用mplus做随机截距交叉滞后。 做之前我们需要知道一些Mplus的默认的设定: observed and latent exogenous variables a…

中介变量、调节变量与协变量

在平时看论文过程中偶会接触到这几个概念,然而都没想过弄明白,每次总觉得只要看明白个大概反正自己又不用这种方法…作为科研人,还是应该保持谦逊,保持学习 一、中介变量 1.概念 中介变量(mediator)是自…

协变量偏移/标签偏移/概念偏移

协变量偏移 这里我们假设,虽然输入的分布可能随时间而改变,但是标记函数,即条件分布P(y∣x)不会改变。虽然这个问题容易理解,但在实践中也容易忽视。 想想区分猫和狗的一个例子。我们的训练数据使用的是猫…

R语言绘制校正协变量后的ROC曲线

ROC曲线也叫受试者工作曲线,原来用在军事雷达中,后面广泛应用于医学统计中。ROC曲线是根据一系列不同的二分类方式(分界值或决定阈),以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线。 ROC曲线主要应用于二分类…

倾向值分析(协变量选择)

Hirano 和 Imbens 基于预设的临界t值来设定预测变量的方法 逻辑回归:逻辑回归虽然带有回归字样,但是逻辑回归属于分类算法。逻辑回归可以进行多分类操作,但由逻辑回归算法本身性质决定其更常用于二分类。 a.逻辑回归公式如下: 其…

使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响

使用aPCoA包实现校正协变量的主坐标分析(aPCoA)以排除混杂协变量的影响 主坐标分析(PCoA)广泛用于生态学和微生物学等领域,以描述样本之间的差异,例如群落的beta多样性等。然而混杂的协变量可能会使与感兴趣…

多变量时间序列、预训练模型和协变量

darts官方地址 GitHub:https://github.com/unit8co/darts文档:https://unit8co.github.io/darts/index.html 本笔记可作为以下内容的教程: 在多个时间序列上训练单个模型使用预训练模型来获得训练期间看不到的任何时间序列的预测训练和使用…

协变量偏移_恶意软件分类的协变量偏移

协变量偏移 介绍 (Introduction) Covariate shift in the data-generating distribution lowers the usefulness of generalization error as a measure of model performance. By unpacking the definitions, the previous sentence translates to “high accuracy on the dis…

matlab 去除协变量,求助协变量调整

花了一个礼拜的时间重新学习了一下协方差,回归,感觉自己的理解很多都是不对的。 协方差分析是方差分析线性回归,但它要求很多,比如至少有两个分组(一个分组就是线性回归了),协变量要是连续变量自变量和因变量要有线性关…

自变量/解释变量/因变量/响应变量/协变量等变量相关概念探析

概念探析 一般科学实验主要涉及以下三种变量: 自变量/独立变量(independent variable):自变量是指在实验中由实验者操作的变量,它被认为不会受其他变量的影响(即独立性)。 因变量&#xff08…

爬虫-猫眼电影票房

背景 最近也不知道咋了,一直遇到 字体反爬手段,起点中文网,抖音等等吧,猫眼我一直想搞,只是没有精力了,前面搞了2个了,不差这一个。搞完这个,不在搞字体反爬了。 目标网站 猫眼票房…

python爬虫实例——中国电影票房

刚好最近在做一个关于中国电影市场的分析,所以这篇实例就诞生啦!!! 一、观察网页 我所爬取的网站是:中国票房——年度票房。 网址甩出来:http://www.cbooo.cn/year?year2019 我们需要的数据是从2015年到…

python爬虫实战——猫眼电影案例

python爬虫实战——猫眼电影案例 背景 笔者上一篇文章《基于猫眼票房数据的可视化分析》中爬取了猫眼实时票房数据,用于展示近三年电影票房概况。由于数据中缺少导演/演员/编剧阵容等信息,所以爬取猫眼电影数据进行补充。关于爬虫的教学内容&#xff0c…