ES6
作用域
ES6 的块级作用域必须有大括号,如果没有大括号,JavaScript 引擎就认为不存在块级作用域。
// 第一种写法,报错
if (true) let x = 1;
// 第二种写法,不报错
if (true) {
let x = 1;
}
1
2
3
4
5
6
2
3
4
5
6
const
- const一旦声明变量,就必须立即初始化,且后续不能改变。但只是锁定地址,没有锁定包含的所有元素。
- const的作用域与let命令相同:只在声明所在的块级作用域内有效。
交换变量的值
let x = 1;
let y = 1;
[x, y] = [y, x];
1
2
3
4
2
3
4
字符串里的循环
for (let codePoint of 'foo') {
console.log(codePoint)
}
// "f"
// "o"
// "o"
1
2
3
4
5
6
2
3
4
5
6
(常用)判断字符串中是否包含特定元素
let s = 'Hello world!';
s.indexOf('H') // 0
s.startsWith('Hello') // true
s.endsWith('!') // true
s.includes('o') // true
s.startsWith('world', 6) // true
s.endsWith('Hello', 5) // true
s.includes('Hello', 6) // false
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
消除空格
const s = ' abc ';
s.trim() // "abc"
s.trimStart() // "abc "
s.trimEnd() // " abc"
1
2
3
4
5
6
2
3
4
5
6