ES6标准入门 第五章:数值的扩展】的更多相关文章

1.二进制和八进制数值表示法 二进制前缀:0b(或0B):   八进制前缀:0o(或0O). 注意:ES5的严格模式 和 ES6中不再允许使用 0  表示八进制. 将二进制和八进制数值转换为十进制数值,用Number 方法: Number('0b111'); number('0o10'); 2.Number.isFinite() .Number.isNaN() ES6将全局方法isFinite()  和 isNaN() 移植到Number对象上来检查Infinite 和 NaN 这两个特殊值.…
1.函数参数的默认值 (1)基本用法 ES5 中, 不能直接为函数的参数指定默认值.只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello World (错误) 以上方法虽然可行,但是存在着一定的缺点: 如果参数y 赋了boolea…
1.RegExp 构造函数 ES5的缺陷: ES5中构造函数的参数有两种情况: (1)参数是字符串,这时第二个参数表示正则表达式的的修饰符(flag). var reg = new RegExp( "xyz", "i" ); 等价于 var reg = /xyz/i; (2)参数是一个正则表达式,返回一个原有正则表达式的拷贝. var reg = new RegExp( /xyz/i ); 等价于 var reg = /xyz/i; 不允许使用第二个参数指定修饰符,…
解构赋值:从数组和对象中提取值,对变量进行赋值. 本质上,这种写法属于“匹配模式”:只要等号两边的模式相同,左边的变量就会被赋予对应的值. 1.数组的结解构赋值 基本用法 let [foo, [[bar], baz]] = [1,[[2], 3]]; foo bar baz let[ , , third] = [1,2,3]; third let[head, ...tail] = [1,2,3,4]; head tail // [2,3,4] 解构不成功 不完全解构:等号左边的模式只匹配等号右边…
1.字符串的Unicode 表示法 JavaScript 允许采用 \uxxxx 表示一个字符,其中 xxxx 表示字符的码点. "\u0061" // "a" ES5中的缺陷: 以上表示法只限于 \u0000——\uFFFF 之间的字符.超出这个范围的=字符,必须用两个双字节表示. "\uD842\uDFB7" //"…
1.二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 // true 从 ES5 开始,在严格模式之中,八进制就不再允许使用前缀0表示,ES6 进一步明确,要使用前缀0o表示. // 非严格模式 (function(){ console.log(0o11 === 011); })() // true // 严格模式 (function(){ 'use…
ES6提供了二进制和八进制数值的新写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503                    // true 0o767 === 503                             // true 如果要将使用0b.0o和0x前缀的字符串数值转化为十进制,要使用Number方法. ES6中对Number对象的拓展 1.Number.isFinite()  //检查一个数值是否有限,返回true/false: 2.…
首先我们来看一看解构的概念,在ES6标准下,允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称作解构,简而言之粗糙的理解就是变相赋值. 解构赋值的规则是,只要等号右边的值不是对象或者数组,就先将其转为对象. 一.数组的结构赋值 以前为变量赋值只能直接指定.而ES6允许从数组中提取值,按照对应位置对变量赋值,我们先来看下面一段代码 //ES5对变量赋值只能直接指定 var a = 10: var b = 20: var c = 30: //ES6允许写成下面这样 let [a, b,…
来源:https://segmentfault.com/a/1190000005863641 let和const命令 ES6新增let命令,用于声明变量,是块级作用域. let声明的变量不会像var声明的变量发生“变量提升”现象,所以,变量一定要在声明后使用,不然就会报错. 暂时性死区:只要块级作用域内存在let命令,它所声明的变量就会“绑定”在这个区域,不再受外部的影响.即在代码块内,使用let命令声明变量之前,这个变量都是不可用的,这在语法上称为“暂时性死区”. ES6规定暂时性死区和不存在…
第五章数学运算-----------------------上下文解释:编程时,我们一般也是先给程序定义一些前提(环境变量.描述环境变化的全局变量等),这些“前提”就是上文,然后再编写各功能模块的代码,这是下文.-----------------------…