ReSharper 2021.1 Help

Code Inspections in JavaScript

In JavaScript, ReSharper 2021.1 provides two kinds of code inspections: 4 inspections that detect errors such as broken syntax, unresolved symbols, compiler errors, and so on (you cannot configure or disable any of these inspections), and 113 proprietary code inspections, any of which you can disable or change its severity level.
These code inspections help you detect code issues in design time in all open files, and additionally they allow you to find code issues in specific scope.

Configurable JavaScript inspections are listed below, grouped by their categories.

Common Practices and Code Improvements (3 inspections)

This category groups inspections that hunt for medium severity issues that mainly affect code readability.
Inspection
ID
EditorConfig property
Default severity
Join local variable declaration and assignment
JoinDeclarationAndInitializerJs
resharper_join_declaration_and_initializer_js_highlighting
Suggestion
Statement termination doesn't match code style
StatementTermination
resharper_statement_termination_highlighting
Warning
Use of future reserved word
UsingOfReservedWord
resharper_using_of_reserved_word_highlighting
Warning

Constraints Violations (1 inspection)

This category includes code inspections, mostly with the warning severity level, which detect violations related to symbol attributes, including ReSharper's code annotations, and other similar issues.
Inspection
ID
EditorConfig property
Default severity
Inconsistent Naming
InconsistentNaming
resharper_inconsistent_naming_highlighting
Warning

Language Usage Opportunities (9 inspections)

This category includes code inspections, mostly with the suggestion severity level, which notify you when more advanced language constructs can be used. These inspections detect syntax of outdated language versions and suggest using features from more modern language versions. For most of the supported languages, language version can be detected automatically or set manually.
Inspection
ID
EditorConfig property
Default severity
A series of undefined-checks for properties can be replaced with destructuring
ReplaceUndefinedCheckingSeriesWithObjectDestructuring
resharper_replace_undefined_checking_series_with_object_destructuring_highlighting
Hint
Intermediate local variable is redundant and can be safely inlined
RedundantIntermediateVariable
resharper_redundant_intermediate_variable_highlighting
Hint
Intermediate local variable is redundant because it can be replaced with a destructuring swap expression
ReplaceWithDestructuringSwap
resharper_replace_with_destructuring_swap_highlighting
Hint
Local variable can be safely moved to inner block
VariableCanBeMovedToInnerBlock
resharper_variable_can_be_moved_to_inner_block_highlighting
Hint
String concatenation can be converted to a template string
StringConcatenationToTemplateString
resharper_string_concatenation_to_template_string_highlighting
Hint
Subsequent indexers can be replaced by a destructuring declaration or assignment
ReplaceIndicingWithArrayDestructuring
resharper_replace_indicing_with_array_destructuring_highlighting
Hint
Subsequent indexers in object literal fields can be simplified with destructuring
ReplaceIndicingWithShortHandPropertiesAfterDestructuring
resharper_replace_indicing_with_short_hand_properties_after_destructuring_highlighting
Hint
'var' variable can be made 'let' variable
VariableCanBeMadeLet
resharper_variable_can_be_made_let_highlighting
Hint
Variable can be made constant
VariableCanBeMadeConst
resharper_variable_can_be_made_const_highlighting
Hint

Potential Code Quality Issues (68 inspections)

This category includes inspections that detect critical issues (code smells), mostly with Error or Warning level. This category also includes inspections that ensure localization assistance.
Inspection
ID
EditorConfig property
Default severity
'?:' expression has identical true and false branches
ConditionalTernaryEqualBranch
resharper_conditional_ternary_equal_branch_highlighting
Warning
A trailing element of an array is elided
ElidedTrailingElement
resharper_elided_trailing_element_highlighting
Warning
Assignment to a variable inside a conditional statement
AssignmentInConditionExpression
resharper_assignment_in_condition_expression_highlighting
Warning
Assignment to an implicitly declared global variable
AssignToImplicitGlobalInFunctionScope
resharper_assign_to_implicit_global_in_function_scope_highlighting
Warning
Assignment to constant
AssignToConstant
resharper_assign_to_constant_highlighting
Error
Cannot resolve symbol
NotResolved
resharper_not_resolved_highlighting
Warning
Closure on a variable modified in loop of outer scope
ClosureOnModifiedVariable
resharper_closure_on_modified_variable_highlighting
Warning
Comma is expected in object literal
ObjectLiteralsAreNotCommaFree
resharper_object_literals_are_not_comma_free_highlighting
Error
Comma is not valid here
CommaNotValidHere
resharper_comma_not_valid_here_highlighting
Error
Comparison of 'typeof' expression with incorrect value
IncorrectOperandInTypeOfComparison
resharper_incorrect_operand_in_type_of_comparison_highlighting
Warning
Condition is always constant
ConditionIsAlwaysConst
resharper_condition_is_always_const_highlighting
Warning
Constructor call is not used or possibly used for side-effects
ConstructorCallNotUsed
resharper_constructor_call_not_used_highlighting
Warning
Declaration hides another declaration from an outer scope
DeclarationHides
resharper_declaration_hides_highlighting
Hint
Duplicate property declaration
DuplicatingPropertyDeclaration
resharper_duplicating_property_declaration_highlighting
Warning
Duplicate switch label
DuplicatingSwitchLabel
resharper_duplicating_switch_label_highlighting
Warning
ECMAScript 2015 feature usage when in ES 5 or lower
Es6Feature
resharper_es6_feature_highlighting
Error
ECMAScript 2016 feature usage when in ES 2015 or lower
Es7Feature
resharper_es7_feature_highlighting
Error
Error in XML doc comment reference
ErrorInXmlDocReference
resharper_error_in_xml_doc_reference_highlighting
Error
Experimental feature usage when language level set to stable
ExperimentalFeature
resharper_experimental_feature_highlighting
Error
Expression is always constant
ExpressionIsAlwaysConst
resharper_expression_is_always_const_highlighting
Warning
Expression is expected after 'throw' statement
ThrowMustBeFollowedByExpression
resharper_throw_must_be_followed_by_expression_highlighting
Error
Extending prototype of native object
NativeTypePrototypeExtending
resharper_native_type_prototype_extending_highlighting
Warning
Heuristically unreachable code
HeuristicallyUnreachableCode
resharper_heuristically_unreachable_code_highlighting
Warning
Illegal syntax in XML code comment
XmlDocCommentSyntaxProblem
resharper_xml_doc_comment_syntax_problem_highlighting
Warning
'import' keyword is not allowed here.
ImportKeywordNotWithInvocation
resharper_import_keyword_not_with_invocation_highlighting
Error
Inconsistent function returns
InconsistentFunctionReturns
resharper_inconsistent_function_returns_highlighting
Warning
Invalid JSON syntax
InvalidJsonSyntax
resharper_invalid_json_syntax_highlighting
Error
Invocation of non-function expression
InvocationOfNonFunction
resharper_invocation_of_non_function_highlighting
Warning
Invoked expression is not a function value
InvokedExpressionMaybeNonFunction
resharper_invoked_expression_maybe_non_function_highlighting
Warning
JSON validation failed
JsonValidationFailed
resharper_json_validation_failed_highlighting
Error
Lexical declaration can only be declared inside a block.
LexicalDeclarationNeedsBlock
resharper_lexical_declaration_needs_block_highlighting
Error
Local function is redefined later
LocalFunctionRedefinedLater
resharper_local_function_redefined_later_highlighting
Warning
L-value expected error
LValueIsExpected
resharper_l_value_is_expected_highlighting
Error
Misuse of 'this' qualifier in inner function
MisuseOfOwnerFunctionThis
resharper_misuse_of_owner_function_this_highlighting
Warning
Multiple declarations in 'for in' error
MultipleDeclarationsInForeach
resharper_multiple_declarations_in_foreach_highlighting
Error
Non-assigned constant
NonAssignedConstant
resharper_non_assigned_constant_highlighting
Error
Non-parenthesized object destructuring assignment cannot be used in an expression statement
ObjectDestructuringWithoutParentheses
resharper_object_destructuring_without_parentheses_highlighting
Error
Not all code paths return a value
NotAllPathsReturnValue
resharper_not_all_paths_return_value_highlighting
Warning
Object property declaration is expected
EmptyObjectPropertyDeclaration
resharper_empty_object_property_declaration_highlighting
Error
Overwriting prototype of native object
NativeTypePrototypeOverwriting
resharper_native_type_prototype_overwriting_highlighting
Warning
Parameter name 'arguments' clashes with pre-defined JS function-scope variable
FunctionParameterNamedArguments
resharper_function_parameter_named_arguments_highlighting
Warning
Parameter value is not used
ParameterValueIsNotUsed
resharper_parameter_value_is_not_used_highlighting
Warning
Path for reference comment not found
JsPathNotFound
resharper_js_path_not_found_highlighting
Error
Possible mistake: ambiguous lambda block and object literal
SuspiciousLambdaBlock
resharper_suspicious_lambda_block_highlighting
Warning
Property getter cannot have parameters
PropertyGetterCannotHaveParameters
resharper_property_getter_cannot_have_parameters_highlighting
Error
Property setter must have a single parameter
PropertySetterMustHaveSingleParameter
resharper_property_setter_must_have_single_parameter_highlighting
Error
Qualifier can be 'null' or 'undefined'
QualifiedExpressionMaybeNull
resharper_qualified_expression_maybe_null_highlighting
Warning
Qualifier is 'null' or 'undefined'
QualifiedExpressionIsNull
resharper_qualified_expression_is_null_highlighting
Warning
Redeclaration of let/const
BlockScopeRedeclaration
resharper_block_scope_redeclaration_highlighting
Error
Return statement with a value in the global scope
ReturnFromGlobalScopetWithValue
resharper_return_from_global_scopet_with_value_highlighting
Warning
Similar expressions comparison
SimilarExpressionsComparison
resharper_similar_expressions_comparison_highlighting
Warning
Statement is possibly incorrectly broken by a newline
PossiblyIncorrectlyBrokenStatement
resharper_possibly_incorrectly_broken_statement_highlighting
Warning
'super' must be called before accessing 'this' in the constructor of a derived class.
SuperCallProhibitsThis
resharper_super_call_prohibits_this_highlighting
Error
Suspicious expression statement
WrongExpressionStatement
resharper_wrong_expression_statement_highlighting
Warning
There is no .hasOwnProperty() check in a body of 'for in' loop. This will cause an enumeration of prototype properties
MissingHasOwnPropertyInForeach
resharper_missing_has_own_property_in_foreach_highlighting
Warning
Trailing redundant comma in object properties list may be error
UnsafeCommaInObjectPropertiesList
resharper_unsafe_comma_in_object_properties_list_highlighting
Warning
Triple-slash directives are only valid at the top of the file
IncorrectTripleSlashLocation
resharper_incorrect_triple_slash_location_highlighting
Warning
Usage of possibly unassigned local variable
UsageOfPossiblyUnassignedValue
resharper_usage_of_possibly_unassigned_value_highlighting
Warning
Usage of unassigned local variable
UsageOfDefinitelyUnassignedValue
resharper_usage_of_definitely_unassigned_value_highlighting
Warning
Use 'break' or 'continue' outside of loop body
JumpMustBeInLoop
resharper_jump_must_be_in_loop_highlighting
Warning
Use of expression after break or continue
LabelOrSemicolonExpected
resharper_label_or_semicolon_expected_highlighting
Error
Use of implicitly declared global variable
UseOfImplicitGlobalInFunctionScope
resharper_use_of_implicit_global_in_function_scope_highlighting
Warning
Use of possibly unassigned property or global variable
PossiblyUnassignedProperty
resharper_possibly_unassigned_property_highlighting
Hint
Use of 'this' in global context
ThisInGlobalContext
resharper_this_in_global_context_highlighting
Warning
Using of 'arguments.caller' and 'arguments.callee'
CallerCalleeUsing
resharper_caller_callee_using_highlighting
Warning
Using of coerced equality (using of coerced equality operator with 'null' or 'undefined')
CoercedEqualsUsingWithNullUndefined
resharper_coerced_equals_using_with_null_undefined_highlighting
Disabled
Using of coerced equality (using of coerced equality operator)
CoercedEqualsUsing
resharper_coerced_equals_using_highlighting
Warning
Variable is used before it is declared
VariableUsedBeforeDeclared
resharper_variable_used_before_declared_highlighting
Warning

Redundancies in Code (4 inspections)

Code inspections in this category look for redundancies and dead code, which affect code readability and style, and could be safely removed. Some code redundancies cannot be fixed automatically, and quick-fixes for them are performed in the interactive mode, requiring the user input. But the majority of the redundancies can be fixed without user interaction, using either fix in scope or code cleanup.
Inspection
ID
EditorConfig property
Default severity
Assigned value is never used
AssignedValueIsNeverUsed
resharper_assigned_value_is_never_used_highlighting
Warning
Redundant block
RedundantBlock
resharper_redundant_block_highlighting
Warning
Redundant empty finally block
RedundantEmptyFinallyBlock
resharper_redundant_empty_finally_block_highlighting
Warning
Unreachable code
JsUnreachableCode
resharper_js_unreachable_code_highlighting
Warning

Redundancies in Symbol Declarations (11 inspections)

This category includes code inspections, mostly with the warning severity level, which detect empty and unused symbol declarations.
Inspection
ID
EditorConfig property
Default severity
Assignment of a local variable to itself is redundant
SameVariableAssignment
resharper_same_variable_assignment_highlighting
Warning
Duplicate local declaration
DuplicatingLocalDeclaration
resharper_duplicating_local_declaration_highlighting
Warning
Redundant 'else' block
RedundantElseBlock
resharper_redundant_else_block_highlighting
Warning
Redundant local class name
RedundantLocalClassName
resharper_redundant_local_class_name_highlighting
Hint
Redundant local function name
RedundantLocalFunctionName
resharper_redundant_local_function_name_highlighting
Hint
Type is never used (non-private accessibility)
UnusedType.Global
resharper_unused_type_global_highlighting
Suggestion
Type member is never used (non-private accessibility)
UnusedMember.Global
resharper_unused_member_global_highlighting
Suggestion
Unused local variable / function / class
UnusedLocals
resharper_unused_locals_highlighting
Warning
Unused parameter
UnusedParameter
resharper_unused_parameter_highlighting
Warning
Unused parameter of inherited member
UnusedInheritedParameter
resharper_unused_inherited_parameter_highlighting
Hint
Unused property or function
UnusedProperty
resharper_unused_property_highlighting
Warning

Spelling issues (3 inspections)

These inspections detect typos in various contexts.
Inspection
ID
EditorConfig property
Default severity
Typo in comment
CommentTypo
resharper_comment_typo_highlighting
Suggestion
Typo in identifier
IdentifierTypo
resharper_identifier_typo_highlighting
Suggestion
Typo in string literal
StringLiteralTypo
resharper_string_literal_typo_highlighting
Suggestion

Strict mode violations (9 inspections)

 

Inspection
ID
EditorConfig property
Default severity
Calling 'delete' on non-qualified identifier in 'strict mode'
DeletingNonQualifiedReference
resharper_deleting_non_qualified_reference_highlighting
Error
Duplicate parameter declaration in 'strict mode'
DuplicatingParameterDeclarationError
resharper_duplicating_parameter_declaration_error_highlighting
Error
Duplicate property declaration in 'strict mode'
DuplicatingPropertyDeclarationError
resharper_duplicating_property_declaration_error_highlighting
Error
Octal literals and escape sequences using in 'strict mode'
OctalLiteralsNotAllowedError
resharper_octal_literals_not_allowed_error_highlighting
Error
Using of 'arguments.caller' and 'arguments.callee' in 'strict mode'
CallerCalleeUsingError
resharper_caller_callee_using_error_highlighting
Error
Using of 'eval'/'arguments' name in 'strict mode'
EvalArgumentsNameError
resharper_eval_arguments_name_error_highlighting
Error
Using of future reserved keywords in 'strict mode'
UsingOfReservedWordError
resharper_using_of_reserved_word_error_highlighting
Error
Using of undeclared global variable
UndeclaredGlobalVariableUsing
resharper_undeclared_global_variable_using_highlighting
Warning
Using of 'with' statements in 'strict mode'
WithStatementUsingError
resharper_with_statement_using_error_highlighting
Error

Syntax Style (5 inspections)

Inspections in this category detect violations of code syntax styles. In contrast to most of other code inspections, these inspections can either detect the same code construct as a code issue or not depending on the corresponding code style rule configured on the Code Editing | [Language] | Syntax Style page of ReSharper options(Alt+R, O). You can also fix issues that these inspection detect using code cleanup.
Inspection
ID
EditorConfig property
Default severity
Function is used before it is declared
FunctionsUsedBeforeDeclared
resharper_functions_used_before_declared_highlighting
Disabled
Function is used outside of scope which it is declared
FunctionUsedOutOfScope
resharper_function_used_out_of_scope_highlighting
Warning
Non-compliant quotes around string literal
StringLiteralWrongQuotes
resharper_string_literal_wrong_quotes_highlighting
Hint
Variable is used in inner scope before it is declared
VariableUsedInInnerScopeBeforeDeclared
resharper_variable_used_in_inner_scope_before_declared_highlighting
Warning
Variable is used outside of scope which it is declared
VariableUsedOutOfScope
resharper_variable_used_out_of_scope_highlighting
Warning
Last modified: 12 July 2021