当前位置: 代码迷 >> 综合 >> ES6的复习
  详细解决方案

ES6的复习

热度:63   发布时间:2024-01-30 08:45:51.0

1.let和const命令

(1)let与var

var声明的变量全局有效,而let在块级作用域中有效

所以在for循环中用let打印本轮循环的结果,而var打印的是全局结果

let不存在变量提升,所以没有声明的情况下使用会报错,而var会报undefined

let不允许在相同作用域内,重复声明同一个变量,因此,不能在函数内部重新声明参数

(2)const

const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值

const实际上保证的并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不得改动。

也就是说对于一个对象,我们可以改变它的属性,不能改变它的指向。

2.解构赋值

(1)解构赋值:数组、对象、字符串、数值、布尔值、函数参数

(2)用途

交换变量的值

函数中返回多个值

函数参数的定义

提取json格式的数据

let jsonData = {id: 42,status: "OK",data: [867, 5309]
};let { id, status, data: number } = jsonData;

函数参数设置默认值

遍历map结构,获得键值

const map = new Map();
map.set('first', 'hello');
map.set('second', 'world');for (let [key, value] of map) {console.log(key + " is " + value);
}

3.字符串的扩展

字符串的Unicode写法:`\u{xxxx}`

模板字符串:'${变量}'

function authorize(user, action) {if (!user.hasPrivilege(action)) {throw new Error(// 传统写法为// 'User '// + user.name// + ' is not authorized to do '// + action// + '.'`User ${user.name} is not authorized to do ${action}.`);}
}

4.字符串的新增方法

String.fromCodePoint(Unicode码);

String.raw()

 

 

 

  相关解决方案