0

I'm trying to get syntax highlighting for the properties on my subclasses

class TextField extends Field {
    constructor(fieldData) {
        super(fieldData);
    }
}

...

class Checkbox extends Field {
    constructor(fieldData) {
        super(fieldData);
    }
}

class Field {
    constructor(fieldData) {
        this.authors = fieldData.authors;// array of strings
        this.fieldName = fieldData.fieldName;// string
        this.value = fieldData.value;// string or boolean
    }
}

When I try creating an instance of TextField and accessing the value property, I want visual studio code to know that the value is a string. However, when I know I have a Textinput, the value property shows me that I have an "any" type.

vscode highlighting

Is there a way to tell the visual studio code that my TextField instances have values of type string? It usually understands JSDoc, so I've been trying different JSDoc tags. I tried this technique, which did what I wanted, but when I tried creating TextFields, it overrode the values of each property to undefined after calling the super()

class TextField extends Field {
    /** @type {string} */
    value;

    constructor(fieldData) {
        super(fieldData);
    }
}

Eric Webb
  • 361
  • 3
  • 10

0 Answers0