语法
🌐 Syntax
@implements {typeExpression}
概述
🌐 Overview
@implements 标签表示一个符号实现了一个接口。
🌐 The @implements tag indicates that a symbol implements an interface.
将 @implements 标记添加到实现该接口的顶层符号(例如,构造函数)。你无需将 @implements 标记添加到实现的每个成员(例如,实现的实例方法)。
🌐 Add the @implements tag to the top-level symbol that implements the interface (for example, a
constructor function). You do not need to add the @implements tag to each member of the
implementation (for example, the implementation's instance methods).
如果你没有记录实现中的某个符号,JSDoc 将自动使用该符号的接口文档。
🌐 If you do not document one of the symbols in the implementation, JSDoc will automatically use the interface's documentation for that symbol.
示例
🌐 Examples
在以下示例中,TransparentColor 类实现了 Color 接口并添加了一个 TransparentColor#rgba 方法。
🌐 In the following example, the TransparentColor class implements the Color interface and adds
a TransparentColor#rgba method.
/**
* Interface for classes that represent a color.
*
* @interface
*/
function Color() {}
/**
* Get the color as an array of red, green, and blue values, represented as
* decimal numbers between 0 and 1.
*
* @returns {Array<number>} An array containing the red, green, and blue values,
* in that order.
*/
Color.prototype.rgb = function() {
throw new Error('not implemented');
};
/**
* Class representing a color with transparency information.
*
* @class
* @implements {Color}
*/
function TransparentColor() {}
// inherits the documentation from `Color#rgb`
TransparentColor.prototype.rgb = function() {
// ...
};
/**
* Get the color as an array of red, green, blue, and alpha values, represented
* as decimal numbers between 0 and 1.
*
* @returns {Array<number>} An array containing the red, green, blue, and alpha
* values, in that order.
*/
TransparentColor.prototype.rgba = function() {
// ...
};