es6

es6 class解析

直入主题。源代码如下: class A{ aName = 'A' constructor(aAge){ this.aAge = aAge } static aStatic = 'aStatic' } class B extends A{ bName = 'b' constructor(bAge){ ... »

面向对象编程-终结篇 es6新增语法

各位,各位,终于把js完成了一个段落了,这次的章节一过我还没确定下面要学的内容可能是vue也可能是前后端交互,但无论是哪个都挺兴奋的,因为面临着终于可以做点看得过去的大点的案例项目了,先憋住激动地情绪,看看今天的一个内容,今天是es6新增的一些语法,简单也是真的简单,但是我要是没学今天这一天那看到了 ... »

ES6中对象新增的方法

属性的简洁表示法 ES6 允许在大括号里面直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。 const foo = 'bar'; const baz = { foo }; console.log(baz); // { foo: 'bar' } function f(name, age) ... »

JavaScript面向对象—深入ES6的class

JavaScript面向对象—深入ES6的class 前言 在前面一篇中主要介绍了JavaScript中使用构造函数+原型链实现继承,从实现的步骤来说还是比较繁琐的。在ES6中推出的class的关键字可以直接用来定义类,写法类似与其它的面向对象语言,但是使用class来定义的类其本质上依然是构造函数 ... »

九个超级实用的 ES6 特性

1、展开操作符 顾名思义,用于对象或数组之前的展开操作符(…),将一个结构展开为列表。演示一下: let firstHalf = [ one , two ];let secondHalf = [ three , four , ...firstHalf];   这种写法够优雅,够简洁吧?如果不用展开操作符我们得这么写: let firstHalf = [ one , two ];le »

简单聊一聊Javascript中的模块化

在面试中只要说到模块化的问题,多多少少总会问到这些,umd、amd、cjs、esm,可能听过其中一个两个,或者都听说过。接下来我们先简单了解一下他们到底是什么,又有什么样的区别呢。 最开始的时候,Javascript是没有导入导出模块的这种方法,这就有一个比较头疼的问题,就是我们所有的代码都要写在一 ... »

lxl0419

es6之Generator

1.Generator函数其实是一个封装了多个内部状态的状态机,执行它会返回一个遍历器对象,然后可以依次遍历Generator中的每一个状态,也就是分段执行,yield是暂停执行的标记,next恢复执行。 2.yield:   - 一个函数里面,return只能执行一遍,yield可以执行多次;   - Generator函数可以不用yield,这时就是一个简单的暂缓执行函数;   - yield »

es6 Promise使用过程中定义多个reject,reject会被执行多次么?

问题: 常使用Promise应该会有一个疑问,我在then()和catch都加了reject那么会怎么走呢? 测试结果: 如果then里定义reject,就走then里的reject,如果then里没定义,就走catch里的reject。 自始至终,reject只会调用一次。 testPromise() { return new Promise(function (resolve, rejec »

ES6新特性一览

ES6新特性(2015) ES6的特性比较多,在 ES5 发布近 6 年(2009-11 至 2015-6)之后才将其标准化。两个发布版本之间时间跨度很大,所以ES6中的特性比较多。 在这里列举几个常用的: 类 模块化 箭头函数 函数参数默认值 模板字符串 解构赋值 延展操作符 对象属性简写 Promise Let与Const 1.类(class) 对熟悉Java,object-c,c#等纯面 »

ES6对象

--------------------------------------------------------------------- 对象的扩展 let obj = {a: 1, b: 2, c: 3, d: 4}; Object.keys(obj).forEach((key,index)=>{ console.log(key); }); // a b c d ============ »

ES6之let、const

在ES6中加入了两种变量的声明方式: 可以改变的变量关键字:let 不可以改变的变量关键字:const let和const与var关键字的区别 let和const用于块级声明 块级作用域(词法作用域) 函数内部 块中(字符{和}之间的区域) 在同一作用域不可以重复声明; 嵌套的作用域,可以同名。 function exampleFunction () { // »

es6 字符串

字符串模板 模板字符串用反引号(数字1左边的那个键)包含,其中的变量用${}括起来 var name = 'zfpx',age = 8; let desc = `${name} is ${age} old!`; console.log(desc); 所有模板字符串的空格和换行,都是被保留的 var str = `<ul> <li>a</li> <li&gt »

es6标签模板转义html

function SaferHTML(templateData) { let s = templateData[0] for (let i = 1; i < arguments.length; i++) { let arg = String(arguments[i]) // Escape special characters in the substitution »

ES6数组排重,过滤相同值快捷方法

Set类型是在ES6中引入的,可以配合展开运算符(...)一起使用,我们可以使用它来创建一个新数组,该数组只有唯一的值; const arr = [1,2,1,2,1,2,1,1,1,3]; const uniqueArr = [...new Set(arr)]; console.log(uniqueArr);// [1,2,3]; »

JavaScript ES6中export及export default的区别

相信很多人都使用过export、export default、import,然而它们到底有什么区别呢? 在JavaScript ES6中,export与export default均可用于导出常量、函数、文件、模块等,你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用,但在一个文件或模块中,export、import可以有多个, »

ES6 Map/WeakMap

最近项目用ES6来写,许多语法都要逐步熟悉呀,今天收藏下Map用法   1、Map构造器 // 字符串作为key, 和JS对象类似 var map = new Map() // set map.set('name', 'John') map.set('age', 29) // get map.get('name') // John map.get('age') // 29 »

js模块化AMD、CMD、ES6

AMD CMD ES6模块化 各个模块化规范对比理解  一、AMD 在上一篇js模块化入门与commonjs解析与应用中详细的解析了关于commonjs模块化规范,commonjs采用的用同步加载方式,这导致它并不是浏览器理想的模块化规范。因为浏览器需要到服务器加载文件,请求事件远远大于本机读取的时间,如果文件较多,网络迟缓就会导致页面瘫痪,所以浏览器更希望能够实现异步加载的方式。 AMD规范则 »

【学习笔记】ES6标准入门

这里简要记录一下对自己感触比较深的几个知识点,将核心的应用投放于实际的项目之中,提供代码的可维护性。   一、let和const { // let声明的变量只在let命令所在的代码块内有效 let a = 1; var b = 2; } console.log(a); // 报错: ReferenceError: a is not defined console »

ES6学习笔记(二十)Module 的加载实现

上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。 传统方法  HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。 <!-- 页面内嵌的脚本 --> <script type="application/javascript"> // modu »

【ES6】最常用的es6特性(一)

参考链接: http://www.jianshu.com/p/ebfeb687eb70 http://www.cnblogs.com/Wayou/p/es6_new_features.html 1.let, const 这两个的用途与var类似,都是用来声明变量的,但在实际运用中他俩都有各自的特殊用途。 1.1第一种场景就是你现在看到的内层变量覆盖外层变量 var name = 'zach' »