gpt4 book ai didi

javascript - 打印方法参数名称,其中最后一个参数是 ES5 中的展开参数

转载 作者:行者123 更新时间:2023-12-01 03:06:23 25 4
gpt4 key购买 nike

如何将最后一个参数是 TypeScript (ES5) 中的剩余参数的方法的签名打印到控制台?

例如以下方法:

public execute(params1: number, params2: number, ...allOtherParams:number[]){
// doSomething...
}

应该打印出:

execute(params1, params2, ...allOtherParams)

我陷入了剩余参数,因为以下解决方案没有显示剩余参数:

let funcSignature = this.execute.toString();
console.log(funcSignature);

我得到这个:

function (params1, params2) {
var allOtherParams = [];
for (var _i = 2; _i < arguments.length; _i++) {
allOtherParams[_i - 2] = arguments[_i];
}
// doSomething...
}

function execute(params1, params2, ...allOtherParams) {
//doSomething
}

// The third parameter is not shown in console.log ?
console.log(execute.toString());

最佳答案

只有将 typescript 编译为 es6 (及更高版本)javascript 标准时,这才有可能。

例如以下 typescript 代码:

function execute(params1: number, params2: number, ...allOtherParams:number[]){
// doSomething...
}

当目标设置为es5时,代码被编译为:

function execute(params1, params2) {
var allOtherParams = [];
for (var _i = 2; _i < arguments.length; _i++) {
allOtherParams[_i - 2] = arguments[_i];
}
// doSomething...
}

当目标设置为es6时,代码被编译为:

function execute(params1, params2, ...allOtherParams) {
// doSomething...
}

关于javascript - 打印方法参数名称,其中最后一个参数是 ES5 中的展开参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46144528/

25 4 0
文章推荐: jquery - 使用 jQuery 引用嵌套在
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com