Skip to content

Code correctness - setters don't return a value #280

Closed
@Rycochet

Description

@Rycochet

I'm creating a TypeScript definition file (will push back into the project when done), and noticed that every setter is also returning the value set - this does nothing and is unused, so the return itself can be removed (it's just wasting space and potentially creating confusion):

IE. https://github.com/guyonroche/exceljs/blob/master/lib/doc/cell.js#L85

  get numFmt() {
    return this.style.numFmt;
  },
  set numFmt(value) {
    return this.style.numFmt = value;
  },

...should be...

  get numFmt() {
    return this.style.numFmt;
  },
  set numFmt(value) {
    this.style.numFmt = value;
  },

A cascading sum like a = b = c will call the getter on c, then the setter on b, then the getter on b, and finally the setter on a.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set

(Although it's not directly clear from the docs, there is an explicit return in the getter, and none in the setter, in addition to all the examples.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions