@class (@constructor)【クラス (new 呼び出し関数)】
@classdesc【クラスの説明】
@augments (@extends)【継承】
@class (@constructor)【クラス (new 呼び出し関数)】
メモ
- クラス定義を宣言
- 関数定義で使用
- 関数定義をコンストラクタとみなす
- タグの省略:コンストラクタの説明
- クラスの説明:@classdesc【クラスの説明】
- new で生成しないと警告
- 未指定で this を使用すると警告
- class【クラス】 定義で使用
- 自動認識 (タグは使用しない)
- new で生成しないと警告
- 関連
構文
@class [クラス名]
シノニム:@constructor
クラス名:クラスの別名 (省略:定義名)
@constructor
例
/**
* クラスAのコンストラクタの説明
* @constructor
* @classdesc クラスAの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
function ClassA(p1, p2) {
// 処理
}
var classA1 = new ClassA(1, 2);
var classA2 = ClassA(1, 2); // 警告:new なし
/**
* クラスXの説明
*/
class ClassX {
/**
* クラスXのコンストラクタの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
constructor(p1, p2) {
// 処理
}
}
var classX1 = new ClassX(1, 2);
var classX2 = ClassX(1, 2); // 警告:new なし
@classdesc【クラスの説明】
メモ
- クラスの説明を記述
- 関数定義で使用
- 先頭のブロックタグは、コンストラクタの説明
- class【クラス】 定義で使用
- 先頭のブロックタグであれば省略可
- 関連
構文
@classdesc クラスの説明
例
/**
* クラスAのコンストラクタの説明
* @constructor
* @classdesc クラスAの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
function ClassA(p1, p2) {
// 処理
}
/**
* クラスXの説明
*/
class ClassX {
/**
* クラスXのコンストラクタの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
constructor(p1, p2) {
// 処理
}
}
@augments (@extends)【継承】
メモ
- 継承クラスを宣言
- 関数定義で使用
- @constructor【クラス (new 呼び出し関数)】 または @interface【インタフェース】 必須
- class【クラス】 定義で使用
- extends【継承】 は自動認識されない為、継承クラスを記述
- 関連
構文
@augments 継承元のクラス
シノニム:@extends
@extends {継承元のクラス}
例
/**
* クラスAのコンストラクタの説明
* @constructor
* @classdesc クラスAの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
function ClassA(p1, p2) {
// 処理
}
/**
* クラスBのコンストラクタの説明
* @constructor
* @extends {ClassA}
* @classdesc クラスBの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
function ClassB(p1, p2) {
// 処理
}
/**
* クラスXの説明
*/
class ClassX {
/**
* クラスXのコンストラクタの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
constructor(p1, p2) {
// 処理
}
}
/**
* クラスYの説明
* @extends ClassX
*/
class ClassY extends ClassX {
/**
* クラスYのコンストラクタの説明
* @param {number} p1 パラメータ1
* @param {number} p2 パラメータ2
*/
constructor(p1, p2) {
super(p1, p2);
// 処理
}
}