Я рассматриваю следующий JS, который является одним из многих в проекте. Я создаю файл .d.ts
.Определение машинописных имен. Именованное выражение функции (NFE)
BatchBuffer.js
var Buffer = function(size)
{
this.vertices = new ArrayBuffer(size);
/**
* View on the vertices as a Float32Array for positions
*
* @member {Float32Array}
*/
this.float32View = new Float32Array(this.vertices);
/**
* View on the vertices as a Uint32Array for uvs
*
* @member {Float32Array}
*/
this.uint32View = new Uint32Array(this.vertices);
};
module.exports = Buffer;
Buffer.prototype.destroy = function(){
this.vertices = null;
this.positions = null;
this.uvs = null;
this.colors = null;
};
Поиск на Google to here говорит мне, что это Named Function Expression (NFE)
, но я начал теряться. Модуль добавляет дополнительную путаницу.
Как определить это правильно? Название - это bugbear (BatchBuffer
или Buffer
), и это выглядит точным?
export module BatchBuffer {
export var vertices: ArrayBuffer;
export var float32View: number[];
export var uint32View: number[];
export function destroy(): void;
}
Я продолжаю сталкиваться с подобными файлами NFE, поэтому, чтобы мое определение было точным, я считаю, что мне нужен совет или подтверждение.
Спасибо.
Отредактировано.
См. Ответ Райана.
Большинство других классов в проекте выглядел (аналогично!) Этой псевдо, например:
MyClass.js
function MyClass(something)
{
/**
* Some property
*
* @member {number}
*/
this.something = something;
}
MyClass.prototype.constructor = MyClass;
module.exports = MyClass;
MyClass.prototype.hi = function()
{
}
я назначая значение для чего-то, по-видимому, то же самое. Хотя подробности избегают меня. Знать, что класс мне подходит.
Doh! Еще раз спасибо Райану. – Clark