ES6基础语法

1、let

生命一个只在let所在代码块内生效的变量

2、conset

声明一个只读的常量。一旦声明,常量的值就不能改变。

3、变量的解构赋值

let [foo, [[bar], baz]] = [1, [[2], 3]];
let [x, y = 'b'] = ['a', undefined];
let { foo, bar } = { foo: "aaa", bar: "bbb" };
let arr = [1, 2, 3];let {0 : first, [arr.length - 1] : last} = arr;first // 1last // 3
const [a, b, c, d, e] = 'hello';

[[1, 2], [3, 4]].map(([a, b]) => a + b);
// [ 3, 7 ]

let {length : len} = 'hello';
len // 5
for (let [key,value] of map) { }

const { SourceMapConsumer, SourceNode } = require("source-map");//模块加载

 
解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。ES6 的规则是,只要有可能导致解构的歧义,就不得使用圆括号。 

4、字符串扩展

codePointAt(0)方法的参数,是字符在字符串中的位置(从0开始),返回一个字符的码点。

String.fromCodePoint()识别32位的UTF-16字符码点

字符串可以被for...of循环遍历

at(0)方法,可以识别 Unicode 编号大于0xFFFF的字符,返回正确的字符

includes():返回布尔值,表示是否找到了参数字符串。startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

let s = 'Hello world!';

s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false

上面代码表示,使用第二个参数n时,endsWith的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

repeat(0)方法返回一个新字符串,表示将原字符串重复n次。

字符串补全

'x'.padStart(5, 'ab') // 'ababx'
'x'.padStart(4, 'ab') // 'abax'

'x'.padEnd(5, 'ab') // 'xabab'
'x'.padEnd(4, 'ab') // 'xaba'


模板字符串,用反引号(`)标识(变量(${aa})) 可以嵌套使用

``.trim() //去除多余的换行和空格


5、正则扩展

new RegExp(/abc/ig, 'i').flag

/\u{20BB7}/u.test('
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zh_rey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值