相关疑难解决方法(0)

'属性'不存在'永不'

这类似于#40796374,但这是类型,而我使用接口.

鉴于以下代码:

interface Foo {
  name: string;
}

function go() {
  let instance: Foo | null = null;
  let mutator = () => {
   instance = {
     name: 'string'
   };  
  };

  mutator();

  if (instance == null) {
   console.log('Instance is null or undefined');
  } else {
   console.log(instance.name);
  }
}
Run Code Online (Sandbox Code Playgroud)

我有一个错误,说'属性'名称'在类型上'不存在'永远'.

我不明白实例怎么可能是'从不'.任何人都可以对此有所了解吗?

提前致谢.

typescript

35
推荐指数
10
解决办法
4万
查看次数

属性'x'在'never'类型上不存在

在下面的代码中,Typescript编译器表示属性'doit'在'never'类型中不存在.这可能是编译器错误吗?

class X {
    public foo(): void {
        if (this instanceof Y) {
        } else {
            this.doit();
        }
    }

    private doit(): void {
    }
}

class Y extends X {
}
Run Code Online (Sandbox Code Playgroud)

我找到了以下解决方法:

const temp = (this instanceof Y);
if (temp) {
} else {
    this.doit();
}
Run Code Online (Sandbox Code Playgroud)

编译器对此等效代码没有任何问题,这再次让我怀疑这里存在编译器错误.

typescript

5
推荐指数
1
解决办法
1916
查看次数

标签 统计

typescript ×2