-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Javascript Coding Style
- Install Node.js.
- Install ESLint with
npm install -g eslint
. - Install ESlint extension in VSCode.
- Configure ESLint in VSCode to set options (format on save, etc.).
Use the w3school JS convention where not specified otherwise by our coding style.
To be consistent with our C/C++ coding style, we must use 2 spaces (instead of 4) to indent code.
To be consistent with our C/C++ coding style, don't use curly brackets when not needed (e.g., for single instruction blocks).
Use the following syntax to check for an undefined variable:
typeof data === 'undefined'
The names of private variables and functions must begin with a _.
Use ES6 features in the code. For example:
- OOP-style class instead of prototypes
- arrow functions
- constants
- blocked scoped variables
- let and const instead of var
All the errors reported by ESLint based on the https://github.com/cyberbotics/webots/blob/master/.eslintrc.json configuration file should be fixed. Warnings may be accepted.
Line size is limited to 128 characters (instead of 80 in w3school).
The #
prefix should be used to declare private fields or methods:
class ClassWithPrivate {
#privateField;
#privateFieldWithInitializer = 42;
constructor(value) {
this.#privateField = value;
}
#privateMethod() {
// …
}
static #privateStaticField;
static #privateStaticFieldWithInitializer = 42;
static #privateStaticMethod() {
// …
}
}
Note: such values are not inherited by child classes.
Protected attributes and methods should be prefixed with a _
.
Note: This is only informative and not actually enforced by JavaScript.