diff --git a/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.html b/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.html index 7227916e20..250bc5f77e 100644 --- a/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.html +++ b/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.html @@ -5,22 +5,22 @@

Why is this an issue?

This rule flags logical operations that can be safely replaced with the ?. optional chaining operator.

How to fix it

Replace with ?. optional chaining the logical expression that checks for null/undefined before accessing the -property of an object.

+property of an object, the element of an array, or calling a function.

Code examples

Noncompliant code example

-function foo(param) {
-    if (param && param.value) {
-        bar(param.value);
-    }
+function foo(obj, arr, fn) {
+    if (obj && obj.value) {}
+    if (arr && arr[0])    {}
+    if (fn && fn(42))     {}
 }
 

Compliant solution

-function foo(param) {
-    if (param?.value) {
-        bar(param.value);
-    }
+function foo(obj, arr, fn) {
+    if (obj?.value) {}
+    if (arr?.[0])   {}
+    if (fn?.(42))   {}
 }
 

Resources

diff --git a/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.json b/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.json index e1660a9adc..1bb343b50a 100644 --- a/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.json +++ b/sonar-plugin/javascript-checks/src/main/resources/org/sonar/l10n/javascript/rules/javascript/S6582.json @@ -13,7 +13,7 @@ "constantCost": "5min" }, "tags": [], - "defaultSeverity": "Major", + "defaultSeverity": "Minor", "ruleSpecification": "RSPEC-6582", "sqKey": "S6582", "scope": "All",