ECMAScript 6(简称ES6)是于2015年6月正式发布的JavaScript语言的标准,正式名为ECMAScript 2015(ES2015)。它的目标是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言 。 另外,一些情况下ES6也泛指ES2015及之后的新增特性,虽然之后的版本应当称为ES7、ES8等。
扩展运算符console.log(...[1,2,3])//123运用1.替代函数的apply方法functionf(x,y,z){}letargs=[1,2,3]f.apply(null,args)f(...args)Math.max(...args)arr.push(...arr2)2.复制数组constarr2=[...arr1]//方法1const[...arr2]=arr13.合并数
使用es6的filter方法和toLowerCase()方法实现了不区分大小写的自动补全; 代码如下: letlist=["aaaassss","bbbbffff","cccciiii","ddddVVvv"]letstr="ddddvv"letfilterList=list.filter(item=>item.toLowerCase().indexOf(str.
  之所以新建这个分类是因为昨天参加了《极客时间》的21天学习行动,就萌生了这个想法来督促自己。写的很随意简单,不占用自己太多时间跟精力。今天学了啥?一、早6:50--7:30  极客时间 《玩转webpack》10、11讲。其实一直想比较全面的过一遍官网文档,记得
4.4Async函数和异步操作4.4.1基本概念4.4.1.1异步简单说就是一个任务分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段。ES6诞生以前,异步编程的方法,常见的有下面四种:回调函数事件监听发布/订阅Promise对象4.4.2Generator函数实现协程协程
我们知道ES5中的基本数据类型有undefined、null、boolean、number、string,引用类型有object(包含Array、Function、Date、RegExp、Error);在ES6中新增了一个基本数据类型:symbol。那什么是symbol?类似于一种标识唯一性的ID,独一无二。方法:https://www.jianshu.com/p/f40a77bbd74e内置方
我们知道es6的模块导入导出是通过import和export来实现,而nodejs的模块导入导出是通过require和module.exports来实现,那么它们有什么异同吗?请看如下:1、es6的模块导出: 2、nodejs的模块导出  3、es6模块的导入  4、nodejs的模块导入  小结:(一)你会发现
ES6的class属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和ES5是一致的。类和模块的内部,默认就是严格模式,所以不需要使用usestrict指定运行模式。//定义类classPoint{constructor(x,y){this.x=x;this.y=y;}toString(){
解构:1.大括号在句首会被认为是代码块,通过加圆括号可以解决问题,但是在声明语句中不能加圆括号,只有在赋值语句的非模式部分可以。2.数值和布尔值解构会先转换成对象,然后用其包装对象的toString方法取得值再赋值。3.解构用途:交换变量值;函数返回多个值取值;参数定义;提取json数据;参数
IK官网:https://github.com/medcl/elasticsearch-analysis-ikeleases如下图:下载对应版本即可1、进入elasticsearch安装目录,执行以下命令(elasticsearch-analysis-ik可以下载对应版本):./bin/elasticsearch-plugininstallhttps://github.com/medcl/elasticsearch-analysis-ik
本节目录Proxy构造函数的两个参数Proxy实例的方法属性读取拦截--get()属性赋值拦截--set()函数调用拦截--apply()函数查询拦截--has()构造函数拦截--construct()属性删除拦截--deleteProperty()添加属性拦截--defineProperty()描述对象拦截--getOwnProper
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。那么什么是类数组对象呢?所谓类数组对象,最基本的要求就是具有length属性的对象。1、将类数组对象转换为真正数组:123456789let arrayLike={    0: 'tom',  
参数中三个点的用法效果图三个点(收集剩余的参数)后面不能再接其他参数,否则报错
什么是map?类似于对象的数据结构,成员键可以是任何类型的值。具体化:我们知道原先对象内属性名只能是字符串,而Map属性名可以是字符串,也可以是对象或数组。它是一个更完善的hash结构。属性:方法:补充说明:1、遍历顺序:插入顺序2、对同一个键多次赋值,后面的值将覆盖前面的值3、对同一个
把所有数组的方法列在了一张图上,为了自己温故一下,也为了以后忘记时好查阅。如果大家在上面查阅方法,可以找到对应的方法名,看前面简单的注释,还是不能明白的话,可以看一下官网说明,地址给大家列出来,MDN-Array ES6-Array  图中es6说明是es6拓展的方法,改是对原始数组有改变的。那
首先我们都知道js的一个函数定义是这样的functionfunc(){//声明一个普通的函数//省略代码}而没有名字的函数叫匿名函数,是长这样的function(){//声明一个匿名函数,一般这样声明方式是用于回调函数//省略代码}或者我们习惯用一个变量来保存匿名函数,那么这个变量成为
继承extends继承可以让子类获得父类的方法属性可以扩充增加新的方法属性等classHuman{constructor(name,age,sex,hobby){this.name=name;this.age=age;this.sex=sex;this.hobby=hobby;
1、下载(不建议用wget命令,下载忒慢,直接官网下载copy到linux环境):wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.1.zip如下图目录:2、解压:3、修改配置文件:4、在vim/etc/security/limits.conf添加如下(修改后退出重新登录)*softnof
在ES6中,为字符串扩展了几个新的API:includes(),返回布尔值,表示是否找到了参数字符串。startsWith(),返回布尔值,表示参数字符串是否在原字符串的头部。endsWith(),返回布尔值,表示参数字符串是否在原字符串的尾部。示例如下:letstr="helloES6";console.log(str,"中是
1、下载:https://www.elastic.co/cn/downloads/past-releases#kibana,如下图,选择对应版本:2、安装解压3、修改配置(vimkibana.yml)3、运行./kibana-6.3.1-linux-x86_64/bin/kibana后台运行:nohup../bin/kibana&kibana后台进程查看几种方法ps-ef|grepkibanaps-ef|g
nodev12.2.0要使用npx命令则npm版本需要>5.2创建项目:npxes10-clicreate项目名运行:npmstart 如果npm不大于5.2,无法使用npxnpminstalles10-cli-ges10-clicreate项目名cd项目名npmstart 如果还不行gitclonehttps://github.com/cucygh/es-cli.git项目名
①新建项目:新建一个es6文件夹,es6下有src和dist文件夹,现在我在src下新建一个index.js,里面写一些es6代码,我后面要将src下的es6转到dist中变成es5 ②初始化项目:es6文件夹下打开终端,输入npminit,一路回车,此时会在src下生成package.json文件 ③安装babel工具(安装的过程中
1.数组可以用spread参数合并,使用该参数要注意被合并的一定是一个数组对象。另外不管是数组合并还是数组拼接都是浅拷贝,实质是拷贝地址(引用)。2.可以和解构赋值混用,如const[first,...rest]=[1,2,3,4,5];还可以将字符串每个字符拆分然后变成数组元素。3.Array.from(),将类数组
..运算符,是ES6里一个新引入的运算法,也叫展开/收集运算符(也被叫做延展操作符-spreadoperator),本篇文章讲解一下其具体的用法。基础用法1:展开consta=[2,3,4]constb=[1,...a,5]console.log(b);//[1,2,3,4,5]基础用法2:收集functionfoo(a,b,...c){
数组扩展1.includes()方法,参数为要检测的值。includes方法有点像indexOf(),indexOf未检测到则返回-1,否则返回下标。includes则是返回true或false。includes可以检测NaN。第二个参数表示从什么位置检测。2.flat和flatMap。flat负责把数组拉平,意思是一个二维数组调用flat方法会变成
基础Promise对象用于表示一个异步操作的最终完成(或失败),及其结果值.三种状态一个Promise有以下几种状态:pending:初始状态,既不是成功,也不是失败状态。fulfilled:意味着操作成功完成。rejected:意味着操作失败。
   自从开始从事前端工作后,深感对技术栈欠缺明确的认知,很多东西似是而非,一知半解。在经过跟同样从事前端行业的朋友交流一番后,痛定思痛,决心从根本开始学起,本次学习将沿着以下的思维导图进行更为深入的基础开始,期望可以解答之前尚存的疑虑。  2020.1.6  目前学习到Pro
 ES6ES2015变量声明解构赋值字符串扩展数值扩展对象扩展数组扩展函数扩展正则扩展symbolSetMapProxyReflectClassModuleIterarorPromiseGeneratorES2016数值扩展数组扩展ES2017变量声明字符串扩展对象扩展函数扩展AsyncES2018字符串扩展对象扩展
前言前面写了一篇关于vue方面问题的面试题(面试时面试官想要听到什么答案(关于一些vue的问题)),感谢大家的阅读和意见,今天整理了一下我面试时经常会问到的一些关于es的问题,写了这篇文章,感谢拨冗翻阅拙作,敬请斧正。因为最近比较忙es6的问题就写了这些,写的比较水了,这些也是我比较常问
0x00前言:ECMAScript6是什么一个常见的问题是,ECMAScript和JavaScript到底是什么关系?要讲清楚这个问题,需要回顾历史。1996年11月,JavaScript的创造者Netscape公司,决定将JavaScript提交给标准化组织ECMA,希望这种语言能够成为国际标准。次年,ECMA发布262号标准文件(E
目录第一篇、开发环境搭建 第二篇、三种声明方式2.1var(全局声明)2.2let(局部声明)2.3const(常量声明)第三篇、解构赋值3.1数组的解构赋值3.2 对象的解构赋值3.3 字符串的解构赋值第四篇、对象扩展运算符和rest运算符4.1对象扩展运算符4.2rest运算