Avoid using octal literals to prevent unexpected behavior

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: javascript-best-practices/no-octal

Language: JavaScript

Severity: Error

Category: Best Practices

CWE: 682

Description

In JavaScript, numbers that start with a leading zero (0) are considered octal (base-8) literals. However, octal literals can lead to unintended and unexpected behavior, especially for developers who are not familiar with this notation or when used accidentally.

Non-Compliant Code Examples

var a = 01234;
a = 1 + 01234;
00;
08;
09.1;
09e1;
09.1e1;
018;
019.1;
019e1;
019.1e1;

Compliant Code Examples

var a = 'hello world';
0x1234
0X5;
a = 0;
0.1
0.5e1
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis