我有以下示例:
class Uncle {
constructor(public name : string) { }
talk() {
return "Hello my name is " + name;
}
}
let p : Uncle = new Uncle("Jo");
console.log(p.talk());
对于某些变量名称,typescript(现在版本2.1.4 )将不抱怨它们未在您的程序中定义(在方法谈话中,名称是在没有这个的情况下使用。) name
就是其中之一。
如果我将变量重命名为firstName
,编译器会正确地抱怨......
错误TS2663:找不到名称' firstName'。你的意思是实例成员' this.firstName'?
同样适用于窗口,显然假设存在。
我的问题是:
答案 0 :(得分:4)
它不会抱怨name
的原因是全局命名空间中有一个名为name的变量。
在开发者工具中打开控制台并写下""
,然后按回车键,您将收到:tsconfig.json
。
更多资源:
可以使用所有全局变量而无需定义它们。
为了删除所有可能的全局定义,例如在"libs"
中,将while ($row = $query->fetch_assoc()) {
$data[] = [ "value" => $row['Partno'] , "label" => $row['Partno']." ".$row['Description']." ".$row['Bname']." ".$row['Cname']];
}
选项设置为空数组。这将删除所有全局变量。