在纯JavaScript中我们可以做到:
var x = {
y: {
a: function() {},
b: function(o, e) {}
},
z: function() {}
}
通过在TypeScript中使用class
的句法糖,我们可以嵌套方法吗?类似于伪代码的东西:
class x {
y: {
a() {};
b() {};
}
z() {};
}
然后致电:
> x.y.a
< function() {}
> x.y.b
< function() {}
> x.y
< [Object object]
> x.z
> function() {}
使用类似命名空间,但不进入内部模块和其他模块。只是按课程。当我使用纯JS时,它可以工作,但如何将第一个代码移植到TypeScript?
答案 0 :(得分:4)
你走了:
class X {
y = {
a:()=> {},
b:()=> {}
}
z() {}
}
var x = new X();
答案 1 :(得分:2)
.y
属性可以作为单独的类输入:
class Y {
a() {}
b(o, e) {}
}
class X {
y = new Y();
z() {}
}
顺便说一句,这些不是&#34;嵌套方法&#34;。嵌套方法将是函数内部的函数,更像是:
function outer() {
function nested() {
// code...
}
}