我正在学习更多ES6:
const _findCartItem = ( item ) => {
return _cartItems.find( cartItem => cartItem.id === item.id);
};
转换为:
var _findCartItem = function _findCartItem(item){
return _cartItems.find(function(cartItem){
return cartItem.id == item.id;
})
};
但是,这个与以下之间有区别吗?这种双重声明是否必要?
var _findCartItem = function(item){
return _cartItems.find(function(cartItem){
return cartItem.id == item.id;
})
};
答案 0 :(得分:3)
Conceitualy,不,两者都会这样做。从句法上讲,是的。第一个是将命名函数的引用传递给变量,第二个是匿名函数。
使用第一个选项是优先的,因为你得到了更好的调用堆栈。