typescript - 为什么我可以将接口分配给没有任何值的变量?
问题描述
我正在测试 TypeScript,发现我可以在这里创建一个接口并为其分配任何值,但是即使它前面没有 a 也person3
可以不添加for 它。为什么允许这样做?name
?
interface Person {
name: string;
age?: number; // Age is not compulsory
}
let person1: Person = { name: 'John', age: 13 };
let person3: Person;
console.log(person1);
console.log('');
console.log(person3); // Why does this not return an error and come as undefined instead?
解决方案
根据上面的评论,我做了一个tsconfig.json
文件,vscode为我添加了错误。因此,要解决此问题,您必须使用tsc --init
.
推荐阅读
- java - 为什么我的方法说它必须返回一个类型字符串并给我一个错误,即使我的方法确实返回了一个类型字符串
- javascript - 如何在 JavaScript 中正确使用 = 和 == 运算符?
- android - 从意图中获取 null
- python - 如何在python中生成运行时类
- java - Java,当我将用户放入地图时,它不起作用
- python - 如何将python类(嵌套)编码为json并使用post请求发送?
- apache - 将任何子域重写为 https
- javascript - 严格相等适用于变量但不适用于对象
- swift - 一次到达 NSTextField 的两个 IBOutlets
- python - 无法使用 python beautifulsoup 将 charset 1253 从 webscraping 转换为 utf-8