Я пытаюсь понять Slate. js, просматривая пример расширенного текста , и я наткнулся на следующий фрагмент кода, который я не понимаю.
const isBlockActive = (editor, format) => {
const [match] = Editor.nodes(editor, {
match: n => n.type === format,
})
return !!match
}
Я не эксперт по javascript, и я новичок как в машинописном, так и в печатном письме. js поэтому заранее прошу прощения за то, что не смог сформулировать свой вопрос лучше, но вот что я сейчас понимаю и что я Я все еще не уверен насчет:
(1) Editor.nodes () - это метод, который возвращает Iterable. Что такое нотация const [match]? Это javascript или машинопись?
(2) "match
" в "const [match]
" совпадает с "match
" в "match : n => n.type === format
"? Если так, значит ли это, что «const [match]
» - это массив с одним элементом, который является функцией? Кажется странным, если бы это было так, тогда зачем вообще заставлять Editor.nodes () возвращать Iterable?
(3) Я знаю, что двойные восклицательные знаки дают мне логический объект, но так как я не могу Обдумывая, является ли match функцией, или итерацией, или чем-то еще, я понятия не имею, что говорит мне правда или ложь !!match
о начальной итерации, возвращаемой Editor.nodes ().
Спасибо за любой свет, который ты сможешь пролить на мой растерянный мозг!