首页 > 解决方案 > 向胖箭头函数添加花括号会破坏它

问题描述

谁能解释为什么这有效:

filteredArray = contacts.filter(
  (contact: Contact) => contact.name.toLowerCase().includes(term.toLowerCase())
);

但这不是:

filteredArray = contacts.filter((contact: Contact) => {
  contact.name.toLocaleLowerCase().includes(term.toLocaleLowerCase());
});

我不知道为什么在这里简单地添加花括号似乎会打破这一点。

标签: javascriptarraystypescriptecmascript-6

解决方案


如果你使用花括号,那么你必须使用return关键字。单行语句不需要花括号:

filteredArray = contacts.filter((contact: Contact) => {
  return contact.name.toLocaleLowerCase().includes(term.toLocaleLowerCase());
});

推荐阅读