如何在es6中解析函数参数名称

时间:2016-06-14 06:10:08

标签: javascript ecmascript-6 babeljs

我希望能够“反映”函数参数并获取它们的名称,它也应该适用于析构化的对象参数,例如

parseParams('({a, b}) => 1')

我希望结果类似于

[["a", "b"]]

所以在这里我知道该函数的第一个参数是一个带有键a&的对象。湾我希望像这样的一些代码存在于babel内部的某个地方,但我找不到它

1 个答案:

答案 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