
ES6
武东10号
developer for ninjia
展开
-
ES6---数组array新增方法
let与const命令是es6标准最基础也是最常见的命令符 ,在es5的js标准中,定义变量只能使用var命令符,var命令 符只能进行全局与函数作用域的变量定义,es6新增的let则改变了这一现状。●find :let arr=[1,2,234,'sdf',-2];arr.find(function(x){ return x<=2;})//结果:1,返回第一个符合条件的x值arr.f原创 2017-03-25 19:29:13 · 39348 阅读 · 0 评论 -
ES6---new Promise()讲解,Promise对象是用来干嘛的?
ES6 Promise 先拉出来遛遛复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受。那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数?别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴。 这么一看就明白了,Promise是一个构造函数,自己身上有all、reject、resolve这几个眼熟的方法...转载 2018-03-08 21:34:38 · 73179 阅读 · 8 评论 -
ES6---箭头函数与function定义函数有什么区别?在箭头函数中,this指向,构造函数,变量提升是如何表现的?
简洁///function定义函数function aaa(a,b){ return a+b;}///箭头函数定义函数var aaa=(a,b)=>{return a+b;}this指向function传统定义的函数,this指向随着调用环境的改变而改变,而箭头 函数中的指向则是固定不变,一直指向定义环境的。///function定义函数中的this指向function aaa原创 2017-07-20 20:27:30 · 8813 阅读 · 1 评论 -
ES6---es6中的模块
在es5中的一些模块化思想都是借助于第三方框架或库,es6则解决了这个问题,es6在模块功能上的实现完全可以替代commonjs和AMD规范,es6的模块规范采用自动严格模式。●export:export主要用于规定模块的对外接口,一个模块即一个文件,只有使用export命令,外部才能获取模块内部的变量和方法。////////module1.jsexport var a='a';export f原创 2017-04-05 23:27:34 · 578 阅读 · 0 评论 -
ES6---string新增方法
ES6为js新增了很多方法,包括遍历、查询、替换等等,可以很简洁的替换ES5中的类似方法,本文不考虑codePointAt等不常用方法。for…of:let str="wbiokr";for(let s of str){ console.log(s)}//结果:w, b, i, o, k, r由于es5并没有为js制定字符串相关遍历方法,for…of无疑会是接下来前端开发中的一个很原创 2017-03-25 16:22:58 · 8256 阅读 · 0 评论 -
ES6---let与const
let与const命令是es6标准最基础也是最常见的命令符 ,在es5的js标准中,定义变量只能使用var命令符,var命令 符只能进行全局与函数作用域的变量定义,es6新增的let则改变了这一现状。1. let命令●块级作用域es5的单一作用域带来了很多不便与问题,es6的新标准将一一解决,例子说明: //1. 函数内部,变量的调用会从内到外进行依次查询var a=10;(functio原创 2017-03-25 14:17:31 · 670 阅读 · 0 评论 -
ES6---新增数据结构set、map
●set:let set=new Set();typeof set;//Object,其数据类型为Object,但是其结构类似数组;/////////////////let set=new Set([1,2,3]);//set接收数组参数console.log(set);//Set {1, 2, 3}for(let i of set){console.log(i)};//1,2,3 可以通过原创 2017-03-30 22:24:17 · 861 阅读 · 0 评论 -
ES6---for...of遍历‘类似’数组的数据结构,array set map string与iterator
let obj={a:1,b:2};for(let i of obj){console.log(i)}//报错let arr=[1,2,3];for(let i of arr){console.log(i)}//1,2,3es6位js增加了一款新的遍历方法for…of,但是由上可以看出,数组可以成功遍历,但是对象却报错,其报错信息是:‘obj[Symbol.iterator] is not a原创 2017-03-29 22:50:59 · 1535 阅读 · 0 评论 -
ES6---新增数据类型Symbol
es6新标,加入了新的数据类型Symbol与新的数据结构set、map,他们各有特点。●Symbol:let a=Symbol();console.log(typeof a);//symbol,js语言的数据类型再添一员Symbol()==Symbol();//falselet a=Symbol();let b=Symbol();a==b;//false,symbol数据的特性,每个sym原创 2017-03-29 21:18:39 · 3499 阅读 · 2 评论 -
ES6---es6中函数function的改革
ES6新标对函数的改革绝对让人眼前一亮,箭头函数太有逼格了,参数结合三点运算符,真他么简洁!!!●箭头函数:function add(x,y){return x+y};///这是es5中定义函数的写法,es6中我们可以这么搞:var add=(x,y)=>x+y;add(1,2);//3,正常运行var fun1=x=>x+1;fun1(3);//4,当参数为1个的时候 可以再简单一点,当然原创 2017-03-28 22:30:54 · 11745 阅读 · 0 评论 -
ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
ES6新增的三点运算符,是由三个点表示,在数组中扮演着重要的角色,可以对数组进行合并与分解、可以对set等数据结构进行转换、可以对函数参数进行简化表示,接下来,我们一起揭开其神秘面纱…●三点—rest参数:let fun1=function(...args){ for(let arg of args){ console.log(arg); }; console原创 2017-03-28 21:05:37 · 4159 阅读 · 0 评论 -
ES6---解构赋值number、bool、string、array、function、object
ES5中,各种变量、对象的赋值,只能一对一的赋值,es6已经改革,新标准允许我们分组赋值,变量与值位置对应,一一赋值,这便是解构赋值。●string字符串解构赋值:let [w,b,i]='wbi';console.log(w,b,i);//w b ilet [w,b]='wbiokr';console.log(w,b);//w,blet [w,b,i,o]='wb';console.log(原创 2017-03-27 23:39:47 · 909 阅读 · 0 评论 -
ES6---全新的对象object
在JavaScript中,对象是一个很重要的概念,开发过程中,我们肯定离不开对象的。ES6追求高效、简洁,这次标准制定也为对象带来了很大的福利……●ES6中对象属性://////es5中定义对象属性要么字面量、要么点、要么[],变量与空格在这些方法中没有得到好的支持/////在es6中可以这么定义:let w='www';let obj1={w};//obj1={w:'www'},属性与值相同原创 2017-03-27 22:14:15 · 7673 阅读 · 0 评论 -
ES6---理解 JavaScript 的 async/await
随着 Node 7 的发布,越来越多的人开始研究据说是异步编程终级解决方案的 async/await。我第一次看到这组关键字并不是在 JavaScript 语言里,而是在 c# 5.0 的语法中。C# 的 async/await 需要在 .NET Framework 4.5 以上的版本中使用,因此我还很悲伤了一阵——为了要兼容 XP 系统,我们开发的软件不能使用高于 4.0 版本的 .NET Fr...转载 2018-06-14 20:42:33 · 717 阅读 · 0 评论