函数参数中的方括号是什么意思

use*_*165 2 typescript

有人可以解释一下函数参数中的含义是什么,我不明白on[]的目的是什么。[][fileEntry]

const onDrop = ([fileEntry]: any[]) => {
     fileEntry && fileEntry.file(file => processFile(file))
}
Run Code Online (Sandbox Code Playgroud)

它会将 转换fileEntry为数组吗?如果是的话为什么那行不通?

const onDrop = (fileEntry) => {
     fileEntry = [fileEntry]
     fileEntry && fileEntry.file(file => processFile(file))
}
Run Code Online (Sandbox Code Playgroud)

JLR*_*she 5

它是解构 - 该函数接受一个数组作为其参数,并且fileEntry是该数组的第一个条目。

更简单的例子(JavaScript):

const firstEl = ([el]) => el;

console.log(firstEl([a, b, c]));
Run Code Online (Sandbox Code Playgroud)

它将 fileEntry 转换为数组吗?如果是的话为什么那行不通?

不,它的作用恰恰相反。所以你的函数的第一行是向后的。这相当于代码的第一位:

const onDrop = (fileEntry) => {
     [fileEntry] = fileEntry
     fileEntry && fileEntry.file(file => processFile(file))
}
Run Code Online (Sandbox Code Playgroud)