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

时间:2019-11-12 23:41:47

标签: javascript string-length

这种解决方案让我很困惑,无法找到字符串的长度:

const getLength = ({length}) => length

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

2 个答案:

答案 0 :(得分:2)

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

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

console.log(getLength({ length: "Hello world" }));

答案 1 :(得分:0)

  

const getLength =

开始为getLength常量赋值,然后

  

({length})

destructuring assignment MDN接受输入参数并解压缩length属性值,最后

  

=> length

箭头函数返回参考的长度值。


const getLength = ({length}) => length;

document.querySelector("#b").onclick = function(){
 document.querySelector("#d").innerText = getLength(document.querySelector("#i").value);
};
<input id="i" /><input type="button" id="b" value="Try Me" /><br>
<div id="d"></div>