gpt4 book ai didi

typescript - instanceof 在 typescript 库项目中无法正常工作

转载 作者:行者123 更新时间:2023-12-05 05:07:16 25 4
gpt4 key购买 nike

我构建了一个 typescript 库项目。并使用公共(public)包中的一些类。
假设一个简单的函数来测试它是否是 BadRequestException

import { BadRequestException } from "@nestjs/common";
export function test(error) {
let a = error;
let b = BadRequestException;
console.log(a instanceof b);
}

在从另一个正常项目构建并导入此 shared-lib 库之后我这样打电话

import { BadRequestException } from "@nestjs/common";
import { test } from 'shared-lib';
test(new BadRequestException('it is a test error'));

在我看来(应该是),a instance b in test function should be equals true,however,i got false

enter image description here

是不是库项目中使用的BadRequestException和第二个项目中的不一样,甚至都是从"@nestjs/common"导入的?

上传了 demo project在 Github 上

最佳答案

instanceof 检查构造函数是否相同。问题是您的代码从库中的代码中获取了自己的构造函数副本(因为它就是这样,这不是您的错),因此它们不再是同一个实例。

虽然构造函数仍然共享相同的名称:

error.constructor.name === BadRequestException.prototype.constructor.name

See related question here

关于typescript - instanceof 在 typescript 库项目中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59265098/

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