gpt4 book ai didi

Javascript 使用参数实例化

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

我知道这是一个纯粹的 javascript 基础错误,我错了。我正在尝试包裹我的 createError功能如下:

export const throwError = error => {
return createError(error, {
message: 'This is my error'
});
}

然后:

throw new (throwError ('Error')); // #1 This works

throw new throwError ('Error'); // #2 This doesn't work without paranthesis

在不包含 () 的情况下如何让它工作? 。为什么它不起作用?可以return new createError..在我的里面throwError功能(不工作)?

最佳答案

我认为你应该这样做

export const MyError = createError('Error', {
message: 'This is my error'
});

throw new MyError(); // parenthesis optional here
<小时/>

如果您确实需要动态传递 Error 参数(这对性能不利,因为它创建了许多不同的类),您实际上无法避免创建构造函数的调用周围的括号。更明确地说,它的工作原理如下:

throw new (throwError('Error'))(); // equivalent to:

const error = throwError('Error');
throw new error();

关于Javascript 使用参数实例化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54294863/

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