ES6
zsl888822
努力学习,努力进步。
展开
-
ES6中Set和Map数据结构(2)
ES6提供了新的数据结构 Set 和 Map。上一篇:Set 数据结构Map在JavaScript中对象(Object),本质上是键值对的集合,但是传统上只能用字符串当作键,ES6中的 Map 数据结构也是键值对的集合,但是它的键不限与于字符串,各种类型的值包括对象都可以当作键。//ES5 中Objectconst data = {};const element = document....原创 2019-12-07 12:54:17 · 294 阅读 · 0 评论 -
ES6中Set和Map数据结构(1)
ES6提供了新的数据结构 Set 和 Map。SetSet 类似于数组,但是其成员的值是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。const s = new Set([1,2,3,4,1]);console.log(s) //Set(4){1...原创 2019-12-06 21:18:04 · 294 阅读 · 0 评论 -
ES6中 Symbol
在学习ES6之前已经学过 6 种基本的数据类型,分别是:Object ,Number ,String ,Boolean ,Null ,UndefinedES6中新增了一种基本数据类型:Symbol1. Symbol 的基本用法let s = Symbol();console.log(typeof s) //symbol2. Symbol 的特点Symbol 是独一无二的值。let ...原创 2019-12-05 21:47:11 · 360 阅读 · 0 评论 -
ES6中对象的扩展
1. 属性的简洁表示法2. 属性名表达式3. 方法的 name 属性4. 属性的可枚举性和遍历5. super 关键字6. 对象的扩展运算符ES6对对象进行了重大的升级,具体包括下面:1. 属性的简洁表示法const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo};...原创 2019-12-05 16:52:08 · 321 阅读 · 1 评论 -
ES6中箭头函数
箭头函数包含以下几个内容:1 箭头函数的基本用法2 使用箭头函数注意事项3 箭头函数的 this4 不适用箭头函数的场合5 嵌套的箭头函数下面是每个内容详情:1 箭头函数的基本用法//ES5 普通函数var function foo(e){ return e;}//ES6 箭头函数var foo = e => e;如果箭头函数的参数是一个参数那么可以直接写成上...原创 2019-12-02 11:23:20 · 788 阅读 · 0 评论 -
ES6中函数name属性
函数的 name 属性返回该函数的函数名。//实例一function foo() {}console.log(foo.name); // "foo"//实例二function gets(){}console.log(gets.name); // "gets"函数的 name 属性早就被浏览器支持了,但是直到ES6才将其写入标准。需要注意的是,ES6 对这个属性的行为做出了一些...原创 2019-11-30 12:36:10 · 650 阅读 · 0 评论 -
ES6中严格模式
从ES5开始,函数内部就可以设定为严格模式。function(x,y){ 'use strict';}ES6将其做了一些规定,只要函数参数使用了默认值,解构赋值,扩展运算符,那么函数内部就不能显式设定严格模式了,否则会报错。function doSomething(a, b = a) { 'use strict';}const doSomething = function (...原创 2019-11-30 11:28:43 · 628 阅读 · 2 评论 -
ES6中rest参数
在ES6中引入了 rest 参数,它的形式是是(...变量名)作用:用于获取函数的多余参数,这样就不用使用 arguments 对象了。rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中。例如:function add(...values){ let num = 0; for(let s of values){ num ...原创 2019-11-30 11:08:13 · 656 阅读 · 1 评论 -
ES6中函数参数的默认值
基本用法在学习ES6之前,不能直接为函数参数指定默认值,只能采取变通的方法。如下: function gets(x,y){ y = y || 0; console.log(x,y); } gets(2); //2 0 gets(2,2); //2 2 gets(2,) //2 0...原创 2019-11-29 13:11:53 · 1365 阅读 · 1 评论 -
ES6中数值的扩展
ES6中对于数值增加了很多的扩展,主要包括以下几类:二进制和八进制表示法Number.isFinite(), Number.isNaN()Number.parseInt(), Number.parseFloat()Number.isInteger()Number.EPSILON安全整数和 Number.isSafeInteger()Math 对象的扩展指数运算符1, 二进制和...原创 2019-11-28 16:56:38 · 285 阅读 · 0 评论 -
ES6中变量的解构赋值
ES6中变量的解构赋值1 数组的解构赋值2 对象的解构赋值3 字符串的解构赋值4 数值和布尔值的解构赋值(先转为对象)5 函数参数的解构赋值不能使用圆括号1 变量声明语句2 函数参数3 赋值语句的模式可以使用圆括号只有一种情况就是赋值语句是非模式用途(1)交换变量的值(2)从函数返回多个值(3)函数参数的定义(4)提取 JSON 数据(5)函数参数的默认值(6)...原创 2019-11-27 13:09:14 · 191 阅读 · 0 评论 -
ES6中块级作用域
ES5中只有全局作用域和函数作用域,没有块级作用域,这导致很多场景不合理。1 内层变量可能会覆盖外层变量。2 用来计数的循环变量泄露为全局变量(for循环中)1 内层变量可能会覆盖外层变量。var s = 'nihao';function test(){ console.log(s); if(true){ var s = '你好'; }}test(); //und...原创 2019-11-18 20:48:23 · 411 阅读 · 0 评论 -
ES6中let和const命令
ES6中let和const命令let命令ES6中新增了 let 命令,用于声明变量,关于let有以下几个特点:1 用法类似于var,但是所声明的变量只在 let 命令所在的代码块内有效,实现了块级作用域且不会污染全局变量。2 不存在变量提升3 暂时性死区4 同一个变量在相同作用域内不允许重复声明下面围绕这四个特点进行详细的分析let 的基本用法let声明的变量与var不用的是,l...原创 2019-11-18 19:58:51 · 597 阅读 · 0 评论