Avoid duplicate case labels 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 Analysis