为什么({“ word”})返回其长度?

kia*_*ott 5 javascript string-length

我对找到字符串的长度的解决方案感到困惑:

const getLength = ({length}) => length

我熟悉对象和数组的解构,但是找不到关于字符串解构(?)或返回长度的任何信息。在函数参数中添加花括号的概念对我来说也是陌生的。

Poi*_*nty 3

您正在创建一个函数,要求将对象参数解构为其“长度”属性。当您传递一个字符串时,该字符串将被强制转换为 String 实例,以便您获得该函数返回的“length”属性值。

看看尝试此操作时会发生什么:

console.log(getLength({ length: "Hello world" }));
Run Code Online (Sandbox Code Playgroud)

  • 另一种解读方式是 `const getLength = (obj) => { return obj.length }` `{}` 正在破坏,正如 @Pointy 指出的那样。 (3认同)