The with statement can lead to ambiguous code

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-with

Language: JavaScript

Severity: Error

Category: Best Practices

CWE: 710

Description

The with statement in JavaScript is used to add a given object’s properties as variables in a specific block of code. While it may seem convenient, the with statement has several pitfalls and can lead to hard-to-diagnose problems.

Non-Compliant Code Examples

with(foo) { bar() }

Compliant Code Examples

foo.bar()
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