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

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.函数参数的默认值 (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.二进制和八进制数值表示法 二进制前缀:0b(或0B):   八进制前缀:0o(或0O). 注意:ES5的严格模式 和 ES6中不再允许使用 0  表示八进制. 将二进制和八进制数值转换为十进制数值,用Number 方法: Number('0b111'); number('0o10'); 2.Number.isFinite() .Number.isNaN() ES6将全局方法isFinite()  和 isNaN() 移植到Number对象上来检查Infinite 和 NaN 这两个特殊值.…
前言 本章介绍正则的扩展.有些不常用的知识了解即可. 本章原文链接:正则的扩展 RegExp 构造函数 从 ES6 开始,如果RegExp构造函数第一个参数是一个正则对象,并且第二个标志存在且为标志参数,将不再抛出 TypeError ,将使用这些参数创建一个新的正则表达式.原有的正则表达式修饰符将被忽略 const flag = new RegExp(/[0-9]/ig, 'i').flags; // 原有修饰符卫 ig ,被 i 给替代了 console.log(flag); // 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" //"…
来源:https://segmentfault.com/a/1190000005863641 let和const命令 ES6新增let命令,用于声明变量,是块级作用域. let声明的变量不会像var声明的变量发生“变量提升”现象,所以,变量一定要在声明后使用,不然就会报错. 暂时性死区:只要块级作用域内存在let命令,它所声明的变量就会“绑定”在这个区域,不再受外部的影响.即在代码块内,使用let命令声明变量之前,这个变量都是不可用的,这在语法上称为“暂时性死区”. ES6规定暂时性死区和不存在…
首先我们来看一看解构的概念,在ES6标准下,允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称作解构,简而言之粗糙的理解就是变相赋值. 解构赋值的规则是,只要等号右边的值不是对象或者数组,就先将其转为对象. 一.数组的结构赋值 以前为变量赋值只能直接指定.而ES6允许从数组中提取值,按照对应位置对变量赋值,我们先来看下面一段代码 //ES5对变量赋值只能直接指定 var a = 10: var b = 20: var c = 30: //ES6允许写成下面这样 let [a, b,…
第五章数学运算-----------------------上下文解释:编程时,我们一般也是先给程序定义一些前提(环境变量.描述环境变化的全局变量等),这些“前提”就是上文,然后再编写各功能模块的代码,这是下文.-----------------------…
第五章 - 正则增强 构造函数增强 允许覆写修饰符,如new RegExp(someRegex, 'ig') 字符串上的正则方法 原先match.replace等可以调用正则的方法在String的原型上,现在都重定向到RegExp原型上的对应方法了. 修饰符相关 u修饰符表示Unicode模式,可以正确处理大于\uFFFF的Unicode字符. y修饰符表示粘连,与g类似,但是要求匹配必须从剩余的第一个位置开始,而不是后面的任意位置.可以通过RegExp对象上的sticky属性来了解是否使用了y…