Avoid duplicate case labels This product is not supported for your selected
Datadog site . (
).
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel,
n'hésitez pas à nous contacter .
TRY THIS RULE ID: javascript-best-practices/no-duplicate-case
Language: JavaScript
Severity: Error
Category: Best Practices
Description It is easy to copy and paste a switch statement case, and leave behind duplicated test cases.
Non-Compliant Code Examples var a = 1 ; switch ( a ) { case 1 : break ; case 1 : break ; case 2 : break ; default : break ;}
var a = '1' ; switch ( a ) { case '1' : break ; case '1' : break ; case '2' : break ; default : break ;}
var a = 1 , one = 1 ; switch ( a ) { case one : break ; case one : break ; case 2 : break ; default : break ;}
var a = 1 , p = { p : { p1 : 1 , p2 : 1 }}; switch ( a ) { case p . p . p1 : break ; case p . p . p1 : break ; default : break ;}
var a = 1 , f = function ( b ) { return b ? { p1 : 1 } : { p1 : 2 }; }; switch ( a ) { case f ( true ). p1 : break ; case f ( true ). p1 : break ; default : break ;}
var a = 1 , f = function ( s ) { return { p1 : s } }; switch ( a ) { case f ( a + 1 ). p1 : break ; case f ( a + 1 ). p1 : break ; default : break ;}
var a = 1 , f = function ( s ) { return { p1 : s } }; switch ( a ) { case f ( a === 1 ? 2 : 3 ). p1 : break ; case f ( a === 1 ? 2 : 3 ). p1 : break ; default : break ;}
var a = 1 , f1 = function () { return { p1 : 1 } }; switch ( a ) { case f1 (). p1 : break ; case f1 (). p1 : break ; default : break ;}
var a = [ 1 , 2 ]; switch ( a . toString ()){ case ([ 1 , 2 ]). toString () : break ; case ([ 1 , 2 ]). toString () : break ; default : break ;}
switch ( a ) { case a : case a : }
switch ( a ) { case a : break ; case b : break ; case a : break ; case c : break ; case a : break ; }
var a = 1 , f = function ( s ) { return { p1 : s } }; switch ( a ) { case f ( a + 1 ). p1 : break ; case f ( a + 1 ). p1 : break ; default : break ;}
// limitations
var a = 1 , p = { p : { p1 : 1 , p2 : 1 }}; switch ( a ) { case p . p . p1 : break ; case p . p // comment
. p1 : break ; default : break ;}
var a = 1 , p = { p : { p1 : 1 , p2 : 1 }}; switch ( a ) { case p . p
/* comment */
. p1 : break ; case p . p . p1 : break ; default : break ;}
var a = 1 , p = { p : { p1 : 1 , p2 : 1 }}; switch ( a ) { case p . p
/* comment */
. p1 : break ; case p . p // comment
. p1 : break ; default : break ;}
var a = 1 , p = { p : { p1 : 1 , p2 : 1 }}; switch ( a ) {
case p . p . p1 : break ; case p . p // comment
. p1 : break ; case p . p
/* comment */
. p1 : break ; default : break ;}
var a = 1 , f = function ( s ) { return { p1 : s } }; switch ( a ) { case f (
a + 1 // comment
). p1 : break ; case f ( a + 1 )
. p1 : break ; default : break ;}
Compliant Code Examples var a = 1 ; switch ( a ) { case 1 : break ; case 2 : break ; default : break ;}
var a = 1 ; switch ( a ) { case 1 : break ; case '1' : break ; default : break ;}
var a = 1 ; switch ( a ) { case 1 : break ; case true : break ; default : break ;}
var a = 1 ; switch ( a ) { default : break ;}
var a = 1 , p = { p : { p1 : 1 , p2 : 1 }}; switch ( a ) { case p . p . p1 : break ; case p . p . p2 : break ; default : break ;}
var a = 1 , f = function ( b ) { return b ? { p1 : 1 } : { p1 : 2 }; }; switch ( a ) { case f ( true ). p1 : break ; case f ( true , false ). p1 : break ; default : break ;}
var a = 1 , f = function ( s ) { return { p1 : s } }; switch ( a ) { case f ( a + 1 ). p1 : break ; case f ( a + 2 ). p1 : break ; default : break ;}
var a = 1 , f = function ( s ) { return { p1 : s } }; switch ( a ) { case f ( a == 1 ? 2 : 3 ). p1 : break ; case f ( a === 1 ? 2 : 3 ). p1 : break ; default : break ;}
var a = 1 , f1 = function () { return { p1 : 1 } }, f2 = function () { return { p1 : 2 } }; switch ( a ) { case f1 (). p1 : break ; case f2 (). p1 : break ; default : break ;}
var a = [ 1 , 2 ]; switch ( a . toString ()){ case ([ 1 , 2 ]). toString () : break ; case ([ 1 ]). toString () : break ; default : break ;}
switch ( a ) { case a : break ; } switch ( a ) { case a : break ; }
switch ( a ) { case toString : break ;
Seamless integrations. Try Datadog Code Security