总的来说,你无法访问myPrivateInt
.但myProtectedInt
这里完全可以访问(编译好).那么为什么它会让那个令人讨厌的红色删除线穿过呢?
Xcode 4.3.1使用iOS SDK 5.1.
以下TypeScript编译时没有错误:
class Something {
name: string;
constructor() {
name = "test";
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码编译没有错误,似乎相信名称变量存在.但是它会生成不会运行的js,因为我省略了this
关键字:
/Users/cburtbrown/Documents/code/ts/js/tstest.js:6
console.log(name);
^
ReferenceError: name is not defined
at Something.action (/Users/cburtbrown/Documents/code/ts/js/tstest.js:6:21)
at Object.<anonymous> (/Users/cburtbrown/Documents/code/ts/js/tstest.js:10:25)
at Module._compile (module.js:541:32)
at Object.Module._extensions..js (module.js:550:10)
at Module.load (module.js:456:32)
at tryModuleLoad (module.js:415:12)
at Function.Module._load (module.js:407:3)
at Function.Module.runMain (module.js:575:10)
at startup (node.js:159:18)
at node.js:444:3
Run Code Online (Sandbox Code Playgroud)
如果我在构造函数中输错了变量,那么它将失败,并显示以下错误:
Cannot find name 'namej'
Run Code Online (Sandbox Code Playgroud)
即使变量拼写正确,是否应该发生此错误?