感叹号在javascript@param和@return注释中表示什么?
我试着遵循:感叹号在javascript@param和@return注释中表示什么?,javascript,comments,jsdoc,Javascript,Comments,Jsdoc,我试着遵循: /**一个做某事的类*/ 类SomeClass扩展了SomeBaseClass{ /** *对MyClass的实例进行操作并返回某些内容。 *@param{!MyClass}obj由于某种原因需要详细说明的对象 *跨多行的解释。 *@param{!OtherClass}显然是OtherClass *@return{boolean}是否发生了什么。 */ someMethod(obj,obviousOtherClass){…} /**@覆盖*/ 重写方法(参数){…} } /** *
/**一个做某事的类*/
类SomeClass扩展了SomeBaseClass{
/**
*对MyClass的实例进行操作并返回某些内容。
*@param{!MyClass}obj由于某种原因需要详细说明的对象
*跨多行的解释。
*@param{!OtherClass}显然是OtherClass
*@return{boolean}是否发生了什么。
*/
someMethod(obj,obviousOtherClass){…}
/**@覆盖*/
重写方法(参数){…}
}
/**
*演示顶级函数如何遵循相同的规则。这个
*生成一个数组。
*@param{TYPE}arg
*@return{!Array}
*@模板类型
*/
函数makeArray(arg){…}
我想知道感叹号在
@param{!MyClass}
或@return{!Array}
中是什么意思,以及何时使用它。根据上的表格,在“不可空类型”的行中,前面的感叹号表示“不可空”。-“不可空类型”-前面的感叹号表示“非空”。@ASDFGerte谢谢。你能把它贴出来作为答复吗?
/** 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) { ... }