![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
诸葛胖虎
这个作者很懒,什么都没留下…
展开
-
let命令
let命令let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。let不允许在相同作用域内,重复声明同一个变量。let适用于for循环.{ let a = 10 var b = 1}a // ReferenceError: a is not defined.b // 1var声明的变量都是全局变量,let则为局部变量...翻译 2018-08-29 10:53:00 · 1394 阅读 · 0 评论 -
ES5中function与ES6的class
ES6中的类只是语法糖,它并没有改变类实现的本质。举个例子,在ES5中定义一个类:function Person(name) { this.name = name;}Person.prototype.sayHello = function(){ return 'Hi, I am ' + this.name;}而用ES6的写法重写一下,检测类型发现Person本...原创 2019-08-25 17:09:27 · 334 阅读 · 1 评论 -
函数的扩展
1.函数参数的默认值ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) { y = y || 'World'; console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'China') // Hello Chinalog('Hello', '') // Hello...翻译 2019-08-10 13:58:15 · 93 阅读 · 0 评论 -
数值的扩展
1.二进制和八进制表示法ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。 0b111110111 === 503 // true 0o767 === 503 // true如果要将0b和0o前缀的字符串数值转为十进制,要使用Number方法:Number('0b111') // 7Number('0o10') // 8...翻译 2019-08-02 11:42:35 · 105 阅读 · 0 评论 -
字符串扩展
1.String.fromCodePoint()ES5 提供String.fromCharCode()方法,用于从 Unicode 码点返回对应字符,但是这个方法不能识别码点大于0xFFFF的字符。String.fromCharCode(0x20BB7)// "ஷ"上面代码中,String.fromCharCode()不能识别大于0xFFFF的码点,所以0x20BB7就发生了溢出,最高位...翻译 2019-08-02 10:50:35 · 127 阅读 · 0 评论 -
顶层对象属性
顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象。ES5 之中,顶层对象的属性与全局变量是等价的。window.a = 1;a // 1a = 2;window.a // 2上面代码中,顶层对象的属性赋值与全局变量的赋值,是同一件事。ES6 为了改变这一点,一方面规定,为了保持兼容性,var命令和function命令声明的全局变量,依旧是顶层对象的...翻译 2019-08-01 11:31:39 · 400 阅读 · 0 评论 -
对象的解构赋值
对象的解构赋值对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。let { bar, foo } = { foo: "aaa", bar: "bbb" }foo // "aaa"bar // "bbb"let { baz } = { foo: &转载 2018-11-05 17:07:47 · 256 阅读 · 0 评论 -
数组的解构赋值
数组的解构赋值ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。// ES5声明变量let a = 1let b = 2let c = 3// ES6解构赋值let [a, b, c] = [1, 2, 3]本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。下面是一些使用嵌套数组进行解构的例子。...翻译 2018-08-29 19:12:11 · 953 阅读 · 0 评论 -
const命令
const命令const声明一个只读的常量。一旦声明,常量的值就不能改变。const PI = 3.1415PI // 3.1415PI = 3// TypeError: Assignment to constant variable.const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。const foo// Sy...翻译 2018-08-29 14:39:36 · 224 阅读 · 0 评论 -
块级作用域与函数声明
块级作用域与函数声明ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。但是,浏览器没有遵守这个规定,为了兼容以前的旧代码,还是支持在块级作用域之中声明函数,因此上面两种情况实际都能运行,不会报错。 ES6 引入了块级作用域,明确允许在块级作用域之中声明函数。ES6 规定,块级作用域之中,函数声明语句的行为类似于let,在块级作用域之外不可引用。func...翻译 2018-08-29 14:00:15 · 830 阅读 · 0 评论 -
Promise 对象
1.Promise 的含义所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。Promise对象有以下两个特点:(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pendi...翻译 2019-08-17 15:04:29 · 63 阅读 · 0 评论