¿Hay alguna manera de documentar un método final en JS usando JSDoc?
Un método final en Java es uno que no se puede anular.
No pude encontrar ninguna opción en el sitio web de JSDoc.
Parecería que no puede, ya que una búsqueda de la documentación JSDoc para obtener resultados final no arroja resultados.
Esto no es tan sorprendente, porque no puedes tener un método final en JavaScript de manera confiable. Entonces, si es importante que un método no se anule, probablemente tendrá que recurrir a documentarlo en su descripción. Aún así, sería posible que JSDoc proporcione una forma de anotar que para que las herramientas se den cuenta, simplemente no parece tenerlo.
Aquí hay una forma poco confiable de tener un método final en JavaScript:
class Base { constructor() { if (this.finalMethod !== Base.prototype.finalMethod) { throw new Error(`You must not override 'finalMethod' in your subclass.`); } } finalMethod() { console.log("This is the pseudo-final method"); } } class Derived extends Base { finalMethod() { console.log("This is the overridden method"); } } const d = new Derived(); // Throws errorPero eso se supera fácilmente de varias maneras:
return Object.assign(Object.create(this), { finalMethod() { /*...*/ } }); (aunque ahora lo pienso, eso es realmente solo una forma diferente de hacer el n. ° 1 anterior).