ES6
文章平均质量分 70
一月清辉
这个作者很懒,什么都没留下…
展开
-
ES6----对象新增方法
1、对象的属性、方法、动态属性名的简写let a = 1;let b = 'xx';let name = 'abcd'let obj = { a, //属性的简写 b, fn(){ // 方法的简写 }, [name]:'Tony' //动态属性名的写法 []}console.log(obj);2、对象的合并Object.assign()let obj = { a:1, b:2};let obj2 = { c:3,原创 2021-06-29 21:08:55 · 198 阅读 · 0 评论 -
new Map()的基础用法(ES6)
1、Map是什么Map类型是键值对的有序列表,而键和值都可以是任意类型Map与Set的区别Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构集合-----是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合字典-----是一些元素的集合。每个元素有一个称作key 的域,不同元素的key 各不相同Set集合是以[值,值]的形式存储元素,Map字典是以[键,值]的形式存储2、增删改查2.1 sizesize属性返回 Map 结构的成员总数。c转载 2021-01-20 15:33:29 · 43617 阅读 · 4 评论 -
ES6中 Generator,异步编程解决方案
一、介绍Generator 函数是 ES6 提供的一种异步编程解决方案。执行 Generator 函数会返回一个遍历器对象,可以依次遍历 Generator 函数内部的每一个状态形式上,Generator函数是一个普通函数,但是有两个特征:1、function关键字与函数名之间有一个星号2、函数体内部使用yield表达式,定义不同的内部状态二、使用...转载 2021-01-20 10:48:42 · 221 阅读 · 0 评论 -
ES6中函数新增了哪些扩展
一、参数ES6允许为函数的参数设置默认值function log(x, y = 'World') { console.log(x, y);}console.log('Hello') // Hello Worldconsole.log('Hello', 'China') // Hello Chinaconsole.log('Hello', '') // Hello参数默认值与解构赋值的默认值结合起来使用function foo({x, y = 5} = {}) { console.转载 2021-01-14 19:05:01 · 261 阅读 · 0 评论 -
ES6中对象新增了哪些扩展?
一、属性的简写ES6中,当对象键名与对应值名相等的时候,可以进行简写,当对象键对应的值是个方法的时候,也可以进行简写const foo = 'hello world!'const o = { say: function() { return "Hello!"; }, foo:foo }// 等同于const o = { say() { // 值为方法,简写 return "Hello!"; }, foo.转载 2021-01-14 18:12:46 · 326 阅读 · 0 评论 -
ES6中数组新增了哪些扩展?spread、rest
一、spread运算符的应用ES6通过扩展元素符…,好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。主要使用情形如下:1、用于函数调用的时候,将一个数组变为参数序列来传参function add(x, y) { return x + y;}const numbers = [4, 38];add(...numbers) // 422、用于数组的浅复制(注意与rest的第二种用法相对比)let a1 = [1, 2];let a2 = [...a1];//a2为 .转载 2021-01-12 11:48:04 · 205 阅读 · 0 评论 -
js中的生成器函数Generator
1、入门function* fn() { console.log(1); //暂停! yield; //调用next方法继续执行 console.log(2);}var iter = fn();iter.next(); //1iter.next(); //2生成器解析如下:1、函数生成器特点是函数名前面有一个‘*’2、通过调用函数生成一个控制器3、调用next()方法开始执行函数4、遇到yield函数将暂停5、再次调用next() 继续执行函数转载 2020-12-12 12:20:08 · 3919 阅读 · 0 评论 -
var、let、const三者区别,以及const 和 let 声明的变量不在 window 上,那到底在哪里
1、let、const 以及 var 的区别是什么?其是否会挂载到window上var声明的变量会挂载在window上,而let和const声明的变量不会挂载到window上,它形成了一个块作用域是否存在变量提升var声明变量存在变量提升,let和const不存在变量提升是否形成块作用域let和const声明形成块作用域,var变量提升不会形成作用域同一作用域下是否可以重复声明同一作用域下let和const不允许重复声明,否则会报错,而var可以是否可以修改var和l转载 2020-09-24 21:33:31 · 3221 阅读 · 0 评论 -
ES6常用的特性
ES6增加了Module方便了JS模块化问题、Promise解决异步函数的回调地狱、Class的面相对象编程等问题一、let和const定义变量let块级作用域内有效、不能重复声明、不存在变量提升、暂时性死区“暂时性死区“是什么如果先调用了该变量,然后才用let去声明,那么浏览器就会报错。这在语法上称为 “暂时性死区”。“暂时性死区”的本质只要一进入当前作用域,所要使用的变量就已经存在了,但不可获取(否则报错),只有等到声明的那一行代码出现,才可以获取和使用。const.转载 2020-09-15 18:33:32 · 120 阅读 · 0 评论 -
ES6---数组的spread扩展运算符
1、扩展运算符基本用法扩展运算符(spread)是三个点(…)。它好比 rest 参数的逆运算,功能是把数组或类数组对象展开成一系列用逗号隔开的值。该运算符主要用于函数调用,示例如下:function add(x, y) { return x + y;}const numbers = [4, 38];add(...numbers) // 422、扩展运算符引用拷贝数组下面看看ES5和ES6的实现:// ES5const a1 = [1, 2];const a2 =转载 2020-09-15 18:15:38 · 451 阅读 · 0 评论 -
箭头函数学习
ES6 允许使用 “箭头” (=>)定义函数。1、基本用法(1)如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。var f = () => 5;//等同于var f = function () { return 5};var sum = (num1, num2) => num1 + num2;//等同于var sum = function(num1, num2){ return num1 + num2;}(2)如果箭头函数的代转载 2020-09-15 16:42:12 · 1165 阅读 · 0 评论 -
class语法
1,class了解在es6之前,js实现继承都是通过prototype(原型链)的方式来实现的,原型继承参考 https://blog.csdn.net/weixin_43322208/article/details/89349703在es6出现之后,可以通过class来实现继承。用新的class关键字来编写以往的构造函数,可以这样写://构造函数写法function Stude...翻译 2020-03-11 20:35:44 · 683 阅读 · 0 评论 -
new Set()的基础用法(ES6)
1、什么是Set()似于数组,但它的一大特性就是所有元素都是唯一的,没有重复。我们可以利用这一唯一特性进行数组的去重工作。2、常用方法2.1 添加元素(与对象添加元素一致 Object.key = value)let list=new Set();list.add="1"2.2 删除元素 deletelet list=new Set([1,20,30,40])list.delete(30) //删除值为30的元素,这里的30并非下标2.3 判断某元素是否存在 haslet转载 2020-08-03 21:16:48 · 63702 阅读 · 6 评论 -
ES6中 对块级作用域的理解,以及三种定义变量的方式对块级作用域的影响
作用域作用域是标识符的可访问范围在Javascript常用三种作用域(词法环境):1),全局作用域------全局定义2), 函数作用域-------在函数内部定义3), 块级作用域-----ES6新增的,用{}来界定块级作用域。1,块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。2,ES6新增了块级作用域,使用let声明的变量只能在块级作用域里访问if(true){ var num = 100; }console.log(num);转载 2020-06-16 15:55:06 · 904 阅读 · 0 评论 -
ES6新增的两种基本数据类型:Symbol 与 BigInt
Javascript自es6后一共有 7 种原始类型 和 1 种 引用类型,如下:原始类型 number、 string 、boolean 、 undefined 、 null 、 symbol 、 bigint引用类型 object原始类型中的前五个就不多说了,主要说Symbol和BigIntSymbol类型是什么Symbol 是一种在ES6 中新添加的数据类型,本质上是一种唯一标识符,可用作对象的唯一属性名,这样其他人就不会改写或覆盖你设置的属性值。定义方法let id .转载 2020-06-16 14:28:49 · 5258 阅读 · 0 评论 -
Object.defineProperty()
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Object.defineProperty()</title></head><body>原创 2019-01-15 22:10:38 · 139 阅读 · 0 评论 -
Symbol类型,简单了解下
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Symbol类型</title></head><style> dd{原创 2019-01-15 22:12:09 · 777 阅读 · 0 评论 -
Promise初步了解
前言在JavaScript的世界中,所有代码都是单线程执行的。由于这个“缺陷”,导致JavaScript的所有网络操作,浏览器事件,都必须是异步执行。异步执行一般用回调函数实现(AJAX就是典型的异步操作)。这种不利于代码复用,且套用的层级较深,不利于代码的解读。promise写法可以避免这些,使得代码可读性更好。promise简介promise简单例子function test(r...转载 2019-02-18 12:35:45 · 1019 阅读 · 0 评论 -
快速复制对象/数组、深度冻结对象
&amp;lt;!DOCTYPE html&amp;gt;&amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt; &amp;lt;title&amp;gt;&amp;lt原创 2019-03-12 12:30:26 · 440 阅读 · 1 评论 -
什么是变量提升、函数提升?
使用let定义的函数,变量无法变量提升。使用var定义的es6函数也不存在变量提升。foo(); //123function foo(){ console.log('123');}arrowFn(); //Uncaught TypeError: arrowFn is not a functionvar arrowFn = () => { console.log(...原创 2019-04-09 14:06:48 · 857 阅读 · 0 评论 -
export 和 export default、import 常用语法
export 和 export default两个导出,它们的异同:export与export default均可用于导出常量、函数、文件、模块等,在一个文件或模块中,export、import可以有多个,export default仅有一个通过export方式导出,在导入时要加{ },因为不知道要导入哪个;不论是导入一个还是多个,都必须在{}内部。export default...原创 2018-11-23 12:11:15 · 1802 阅读 · 0 评论