ReSharper 2021.2 Help

Code Inspections in JavaScript

In JavaScript, ReSharper 2021.2 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 | JavaScript | 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: 21 October 2021