Node.js 私有方法错误

问题描述

我在 Node.js 项目中遇到了一个奇怪的问题。我有一个类,需要隐藏他的一些方法。 MDN 说我需要将 # 放在方法名称的开头。这是无效的!我有 13.6 节点版本。这是我的代码

module.exports.class = class ExtendedEmbed extends MessageEmbed {
    static #validateColors(colors) {
        // Do something;
    }

    static #validateTemplates() {
        // Do something...
    }
    
    // Other methods...

    /**
     * @param {String} color 
     * @param {String} template 
     * @param {import('discord.js').MessageEmbedOptions} data 
     * @param {import('./index').ExtendedEmbedOptions} options 
     */
    constructor(color,template,data = {},options = {}) {
        console.log(ExtendedEmbed.#validateColors(options.colors);
    }
}

错误如下:

C:\Projects\EmbedUtilities\src\ExtendedEmbed.js:4
    static #validateColors(colors) {
                          ^

SyntaxError: Unexpected token '('

解决方法

使用私有方法而不是静态方法一次怎么样?

    private validateTemplates() {
        // Do something...
    }