TypeScript:类/方法中变量/属性的声明
TypeScript: Declaration of variables / attributes in classes / methods
有人能给我回答以下两个问题吗:
1) 为什么不能在方法中声明变量,比如综合类中的属性?
我想要的:private foo: string
(编译器错误)
我要做的:var foo: string
(没有编译器错误)
2) 何时将变量声明为类的属性,何时仅在方法中声明变量?我不确定Java知识是否适合这种情况。我会自然而然地说,它取决于变量的范围(如果需要它,例如在两个或多个方法中->类的属性,否则->方法的变量)。
谢谢!
如果你提到你要做的事情,回答你会更容易。
TypeScript私有类成员在运行时实际上并不是私有的;如果你想要真正的隐私,你应该使用这样的闭包:
class Foo {
getSomethingPrivate: () => number
constructor() {
var somethingPrivate = 1;
this.getSomethingPrivate = function() {
return somethingPrivate;
}
}
}
相关文章:
- 获取HTML属性中CSS声明的值
- 如何在AngularJS工厂中正确声明对象属性
- 在样式表中声明元素后,删除该元素的悬停属性
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 什么's;var'声明的变量和'这'在Javascript中创建了属性
- 如何区分未声明和未定义的 JavaScript 对象属性
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- 无法使用typescript访问angular中另一个控制器中声明的$rootscope属性
- 属性初始值设定项在声明之前未定义
- 如何使用ES6在Ember中声明可观察性或计算属性
- 使用原型而不是在对象本身上声明属性有什么好处吗?
- 对象属性的分配顺序是否与声明顺序相同
- Javascript - 在变量声明中使用大括号将多个变量分配给对象属性
- 在 onClick 属性中声明变量,并在 onClick 中使用多个命令
- SCRIPT5039:重新声明常量属性 - IE 9 Javascript 问题
- Javascript 数组声明(可能误用长度属性?)
- 在 angularjs 控制器范围内声明函数和属性,但不附加到$scope
- ES7 类:在构造函数之外声明属性
- jQuery验证插件,用属性声明需要的规则不工作
- 具有开放端构造函数参数的参数属性声明