javascript@param和@return注释中的感叹号表示什么



我正在努力遵循以下准则:

/** A class that does something. */
class SomeClass extends SomeBaseClass {
/**
* Operates on an instance of MyClass and returns something.
* @param {!MyClass} obj An object that for some reason needs detailed
*     explanation that spans multiple lines.
* @param {!OtherClass} obviousOtherClass
* @return {boolean} Whether something occurred.
*/
someMethod(obj, obviousOtherClass) { ... }
/** @override */
overriddenMethod(param) { ... }
}
/**
* Demonstrates how top-level functions follow the same rules.  This one
* makes an array.
* @param {TYPE} arg
* @return {!Array<TYPE>}
* @template TYPE
*/
function makeArray(arg) { ... }

我想知道感叹号在@param {!MyClass}@return {!Array<TYPE>}中是什么意思,以及何时使用

根据Use JSDoc:@type上的表,在"Non-nullable type"行,前面的感叹号表示"Non-null"。

最新更新