为什么我在打印脚本中没有收到有关StrictNullChecks的警告

Why I am not getting warnings about StrictNullChecks in typescript(为什么我在打印脚本中没有收到有关StrictNullChecks的警告)

本文介绍了为什么我在打印脚本中没有收到有关StrictNullChecks的警告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的打字脚本中有以下代码:

interface Member {
    name: string,
    age?: number
}

class Person implements Member {
    name: string;
    constructor(name: string ){
        this.name=name;
    }
}

function bar(person: Member) {
    return "Hello, " + person.name + " " + person.age;
}

let person = new Person("John");
console.log(bar(person));

声明Person.age时,我应该在栏函数中收到Object is‘unfined’警告,因为不是每个成员都可以有年龄。

我的打字脚本配置如下:

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "sourceMap": true,
    "strictNullChecks": true,
    "outDir": "./built"
  },
  "include": [
    "./src/**/*"
  ],
  "exclude": [
    "node_modules"
  ]
}

你知道为什么这对我不起作用吗?我正在使用WebStorm编辑器!

推荐答案

StructNullChecks检查在属性上执行的所有操作是否导致非空值。但在bar函数中,它只打印person.age,而不管它是空的还是未定义的。如果您说person.age.toString()类型脚本将引发编译时错误。

这篇关于为什么我在打印脚本中没有收到有关StrictNullChecks的警告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:为什么我在打印脚本中没有收到有关StrictNullChecks的警告

基础教程推荐