我尝试做类似于@param {window.MyNamespace.MyEnum} myVar
的事情,但编译器抱怨有一个JSC_TYPE_PARSE_ERROR: Bad type annotation. Unknown type window.MyNamespace.MyEnum
。
我应该在枚举上使用@typedef
,还是只使用@param {number}
,如果我的枚举是@enum {number}
?我真的更喜欢枚举这个东西,因为其他值实际上是不允许的。
(function (MyNamespace) {
/**
* @enum {number}
*/
MyNamespace.MyEnum = {
FOO: 1,
BAR: 2,
BAZ: 3
}
/**
* @constructor
* @param {Object} foo
*/
MyNamespace.MyClass = function (foo) {
this.foo = foo
}
/**
* @constructor
* @param {MyNamespace.MyClass} bar
*/
MyNamespace.MyOtherClass = function (bar) {
this.bar = bar
}
/**
* @param {MyNamespace.MyEnum} baz
*/
MyNamespace.MyOtherClass.prototype.someMethod = function (baz) {
}
})(window.MyNamespace = window.MyNamespace || {})
window
,否则window
不应该成为类型声明的一部分。 - Felix KlingJSC_TYPE_PARSE_ERROR: Bad type annotation.
你能把你用的完整代码发一下吗? - Aeveus