
ES6
文章平均质量分 88
xiaozhu_personal
github.com/xiaohesong/til
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
babel改变es6解构赋值
概述 大家都知道ES6的解构,有时也会在解构的时候进行赋值默认值。 不过不知道大家是不是注意到,有时候的赋值是不生效的。 看个例子: const user = {name: 'xiaohesong', age: null, sex: ''} const {name, age = 18, sex = 'man', gf = 'lzl'} = user console.log(name, age, sex, gf) 大家都知道上面由于规范的原因会输出什么内容。 https://developer.mozi原创 2020-07-01 14:00:41 · 1336 阅读 · 0 评论 -
完整详细的es6 class
原文es6 class class基本声明 在说class之前,想必大家肯定会想到constructor function. 看下面代码: function Foo(name) { this.name = name } class Bar { constructor(name){ this.name = name } } f = new Foo('xhs')...原创 2018-09-11 21:33:52 · 542 阅读 · 0 评论 -
ES6 代理和反射
此文出处 简介 proxy proxy可以拦截目标(target)上的非内置的对象进行操作,使用trap拦截这些操作,trap是响应特定操作的方法。 reflection reflection是通过Reflect对象表示,他提供了一些方法集,为代理proxy提供默认行为。 下面是一些proxy trap和Reflect方法,每个proxy trap都有提供对应的Reflect方法,他们...原创 2018-09-29 10:55:26 · 711 阅读 · 0 评论 -
ES6 Block Binding
es5和es6的区别里,关于块级绑定是被津津乐道的。之前没有记录,今天就把它记录下来。 我们知道var会有变量提升。 es6的let和const可以避免这个,且会生成块级作用域。 块级声明 function里面 块内(由{和}字符表示) let 声明 function getValue(condition) { if (condition) { let value =...原创 2018-10-15 11:31:52 · 267 阅读 · 0 评论 -
你真的了解 ES6 Modules
什么是模块 模块就是javascript文件以不同方式去加载(这个就和scripts的方式相反了,scripts是以原始的javascript工作方式加载的)。这种不同的模式很有必要,并且他们代表的语义也是不一样的: 模块模式会自动运行在严格模式下,没有办法选择。 模块顶层创建的变量不会共享到全局范围,仅在模块的范围内。 模块的顶层的this值是undefined。 模块不允许在代码中使用HTM...原创 2018-09-30 17:00:44 · 496 阅读 · 0 评论 -
ES6的Symbol竟然那么强大
之前本文发表于掘金 symbol是es6出的一种类型,他也是属于原始类型的范畴(string, number, boolean, null, undefined, symbol) basic let name = Symbol('xiaohesong') typeof name // 'symbol' let obj = {} obj[name] = 'xhs' console.log(obj[n...原创 2018-11-05 10:29:50 · 2690 阅读 · 2 评论 -
Understanding ES6 -- 深入理解ES6书籍
understanding es6 – Nicholas C. Zakas 块级绑定 function 拓展对象功能 解构 symbol Sets and Maps Iterators and Generators class 改进的数组 promise 代理和反射 – Proxy&Reflection modules 附录A – 小的改变 附录B – undestanding es7...原创 2019-02-16 12:10:57 · 752 阅读 · 0 评论