CodeQL library for JavaScript

Member predicate Expr::inNullSensitiveContext

Holds if the syntactic context that the expression appears in relies on the expression being non-null/non-undefined.

A context relies on the subexpression being non-null/non-undefined if either…

  • Using null or undefined would cause a runtime error
  • Using null or undefined would cause no error due to type conversion, but the behavior in the broader context is sufficiently non-obvious to warrant explicitly converting to ensure that readers understand the intent
predicate inNullSensitiveContext()