js函数中箭头函数和普通函数的区别

发布时间 2023-03-30 00:09:33作者: 小杨同学906

1.外观上

箭头函数:

1、没有function 直接通过箭头指向

2、箭头的函数体中只有return,可以省略return 

3、参数为一个时,可以没有小括号

 普通函数:

1、有function

2、必须有return

3、必须有小括号

const getSum = (a, b) => {
    return a + b;
};
const getSum = (a, b) => a + b;
const getSum = a => a + 1;

 

function getSum(a, b) {
    return a + b;
}
function getSum(a) {
    return a + 2;
}

 

2.this指向不同

箭头函数的this是父级作用域的this

普通函数的this指向函数的调用者

3. call、apply、bind无法改变箭头的this的指向

4. 箭头函数不可作为构造函数使用,而普通函数可以

5.普通函数可以通过arguments获取输入的参数(类数组对象); 箭头函数不可以使用arguments否则会报错。

6. 普通函数定义的构造函数内部,支持使用new.target,返回构造实例的构造函数。而在箭头函数中,不支持使用new.target。在浏览器环境中,箭头函数使用new.target将报错:new.target expression is not allowed here