Fork me on GitHub

Es6语法

箭头函数中的this

箭头函数可以绑定this对象,大大减少了显式绑定this对象的写法(call、apply、bind)。在箭头函数中,下面的代码之中有几个this?

1
2
3
4
5
6
7
8
9
function foo() {
return () => {
return () => {
return () => {
console.log('id:', this.id);
};
};
};
}

一个 1.foo函数作用域this

var与let

var的变量提升产生了什么后果?

  1. 所有的变量声明语句都会被提升到代码的顶部
  2. 在函数体内,局部变量的优先级要高于全局变量。如果在函数体内重新声明一个与局部变量重名的变量,局部变量就会覆盖全局变量的值。

解构赋值

以下哪种是推荐的写法?

1
2
3
4
const arr = [1, 2, 3, 4];
const first = arr[0];
const second = arr[1];
const [ first, second] = arr;

const [ first, second] = arr;

箭头函数

立即执行函数建议改成哪种形式?举个例子

1
2
3
(()=>{
console.log("hello world");
})();

什么时候使用Object或Map?

模拟现实对象的时候用Object,
存储键值对的时候使用Map

如何使用ESLint?

  1. 安装EsLint npm i -g eslint
  2. 安装airbnb语法规则 npm i -g eslint-config-airbnb
  3. 在项目根目录下新建.eslintrc文件

Airbnb规范中对于条件表达式有哪些要求?

1.优先使用 === 和 !== 而不是 == 和 !=.