我希望能够“反映”函数参数并获取它们的名称,它也应该适用于析构化的对象参数,例如
parseParams('({a, b}) => 1')
我希望结果类似于
[["a", "b"]]
所以在这里我知道该函数的第一个参数是一个带有键a&的对象。湾我希望像这样的一些代码存在于babel内部的某个地方,但我找不到它
答案 0 :(得分:1)
我找到了巴比伦的方法
const parsed = require("babylon").parse('({a,b}) => 1', {
sourceType: 'script' });
// the keys of the object will be available as
const key1 = parsed.program.body[0].expression.params[0].properties[0].key.name // a
const key2 = parsed.program.body[0].expression.params[0].properties[1].key.name // b
工作演示https://tonicdev.com/57205506e8bb3a1100675026/575fa8ce3154641300347910