我试图通过查看富文本示例来理解 Slate.js ,但我遇到了以下我不理解的代码片段。
const isBlockActive = (editor, format) => {
const [match] = Editor.nodes(editor, {
match: n => n.type === format,
})
return !!match
}
我不是 javascript 方面的专家,而且我对 typescript 和 slate.js 都是新手,所以对于无法更好地提出我的问题,我提前道歉,但这是我目前所了解的以及我仍然不确定的内容:
(1) Editor.nodes() 是一个返回 Iterable 的方法。什么是“const [match]”表示法?这是javascript还是打字稿?
(2) " match
" in " const [match]
" 和 " match
" in " match : n => n.type === format
" 一样吗?如果是这样,这是否意味着“ const [match]
”是一个数组,其中一个元素是一个函数?如果是这种情况似乎很奇怪,那么为什么还要费心让 Editor.nodes() 返回一个 Iterable 呢?
(3)我知道双感叹号给了我一个布尔对象,但是由于我无法弄清楚 match 是函数还是可迭代的还是其他东西,所以我不知道它的真假!!match
告诉了我什么Editor.nodes() 返回的初始迭代。
感谢您为我困惑的大脑提供的任何启发!