gpt4 book ai didi

javascript - 在 Typescript 严格模式函数上访问被调用者?

转载 作者:行者123 更新时间:2023-12-03 00:04:21 26 4
gpt4 key购买 nike

我正在向 this library 添加函数访问 arugments.callee 。在项目的tsconfig.json内我设置"strict": false ,使这个小型测试起作用:

    function check() {
console.log(arguments.callee.name);
}

这有效。现在,如果我导入要运行测试的库部分,如下所示:

    import {isNumberInRange} from './is';

function check() {
console.log(arguments.callee.name);
// isNumberInRange(1,0,1);
}
check();

即使我实际上没有运行 isNumberInRange函数 typescript 仍然记录以下内容:

TypeError: 'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them at check (/home/ole/Github/is/src/test.ts:4:27)

我还需要做什么才能启用调用 arguments.callee.name

最佳答案

除了"strict": false之外,还添加"noImplicitUseStrict": true

TypeScript 将自行添加严格模式,需要禁用它。

如何执行此操作已在此处得到解答:prevent-use-strict-in-typescript

You can do that by compiling with the --noImplicitUseStrict compiler option—add "noImplicitUseStrict": true to "compilerOptions" in tsconfig.json. Doing so will prevent the compiler from emitting "use strict".

关于javascript - 在 Typescript 严格模式函数上访问被调用者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55033707/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com