- let --块级作用域
与var区别:let不可重复定义、不可声明前置
- const --定义常量
- class --定义类 可用extends继承
es5是原型链继承
- 箭头函数 --定义函数
() => {} //this指向定义时父作用域的this, call和apply均不可改变指向
- class、let、const均不属于全局对象的属性,均不可声明前置,
var是全局对象的属性
`${}` --模板字符串 ${}里边是js代码
-
...args
三点语法,可解构对象/数组、获取剩余参数,代替arguments对象 - 形参设置默认参数
例 function(x,y=111){ }
- for of 遍历实现迭代器
- 提供Promise对象
用来处理异步操作
- 增加Symbol数据类型
- module概念的提出
相关题目
- 定义函数 只有在函数体中才生效
let t = this ? g = 4 : h = 8
class i { }
let ttt = class { }
console.log(11, typeof i, typeof t, typeof g, typeof h, ttt, t)
结果
let t = this? function g(){}:function h(){}
class i { }
let ttt = class { }
console.log(11, typeof i, typeof t, typeof g, typeof h, ttt, t)
结果
let t = this? class g{}:class h{}
class i {}
let ttt = class { }
console.log(11, typeof i, typeof t, typeof g, typeof h, ttt, t)
结果
2 (String,Array)
console.log(typeof (new (class F extends (String, Array,String){})).substring)
//"function"
console.log(typeof (new (class F extends (String, Array){})).substring)
//"undefined"