2

我使用 webstorm 10,并使用以下代码尝试 ecmascript 6:

/**
 * Class Person
 */
class Person {
    /**
     * Constructor
     * @param lastname
     * @param firstname
     * @param age
     * @param sexe
     */
    constructor(lastname, firstname, age, sexe) {
        this.lastname  = lastname;
        this.firstname = firstname;
        this.age       = age;
        this.sexe      = sexe;
    }

    /**
     * Return the name as string
     * @returns {string}
     */
    toString() {
        return this.firstname + ' ' + this.lastname;
    }

    /**
     * Return true if is an Adult
     * @returns {boolean}
     */
    isAdult() {
        return this.age > 18;
    }

    /**
     *
     * @param {Person} person
     * @returns {*}
     */
    static isAdult(person) {
        return person.isAdult();
    }
}

我做错了什么webstorm告诉我toString中的名字和姓氏是未解决的变量,所以年龄以及静态方法中的isAdult()?

4

1 回答 1

0

我遇到了同样的问题。为了修复它,您必须提供@class注释。这样,它就知道它是一个类并将属性视为类属性,而不会发出警告。

/**
 * @class Person
 */
class Person {
    ...

您可能还想注释属性,像这样

/**
 * @class Person
 * @property lastname {String}
 * @property firstname {String}
 * @property age {Number}
 * @property sexe {String}
 */
于 2016-10-28T12:06:32.410 回答