tructor ](/en-US/docs/Web/JavaScript/Reference/Errors/Not_a_constructor)
    61. [ TypeError: "x" is not a function ](/en-US/docs/Web/JavaScript/Reference/Errors/Not_a_function)
    62. [ TypeError: "x" is not a non-null object ](/en-US/docs/Web/JavaScript/Reference/Errors/No_non-null_object)
    63. [ TypeError: "x" is read-only ](/en-US/docs/Web/JavaScript/Reference/Errors/Read-only)
    64. [ TypeError: can't assign to property "x" on "y": not an object ](/en-US/docs/Web/JavaScript/Reference/Errors/Cant_assign_to_property)
    65. [ TypeError: can't convert BigInt to number ](/en-US/docs/Web/JavaScript/Reference/Errors/Cant_convert_BigInt_to_number)
    66. [ TypeError: can't convert x to BigInt ](/en-US/docs/Web/JavaScript/Reference/Errors/Cant_convert_x_to_BigInt)
    67. [ TypeError: can't define property "x": "obj" is not extensible ](/en-US/docs/Web/JavaScript/Reference/Errors/Cant_define_property_object_not_extensible)
    68. [ TypeError: can't delete non-configurable array element ](/en-US/docs/Web/JavaScript/Reference/Errors/Non_configurable_array_element)
    69. [ TypeError: can't redefine non-configurable property "x" ](/en-US/docs/Web/JavaScript/Reference/Errors/Cant_redefine_property)
    70. [ TypeError: can't set prototype: it would cause a prototype chain cycle ](/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_prototype)
    71. [ TypeError: cannot use 'in' operator to search for 'x' in 'y' ](/en-US/docs/Web/JavaScript/Reference/Errors/in_operator_no_object)
    72. [ TypeError: cyclic object value ](/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value)
    73. [ TypeError: invalid 'instanceof' operand 'x' ](/en-US/docs/Web/JavaScript/Reference/Errors/invalid_right_hand_side_instanceof_operand)
    74. [ TypeError: invalid Array.prototype.sort argument ](/en-US/docs/Web/JavaScript/Reference/Errors/Array_sort_argument)
    75. [ TypeError: invalid assignment to const "x" ](/en-US/docs/Web/JavaScript/Reference/Errors/Invalid_const_assignment)
    76. [ TypeError: More arguments needed ](/en-US/docs/Web/JavaScript/Reference/Errors/More_arguments_needed)
    77. [ TypeError: property "x" is non-configurable and can't be deleted ](/en-US/docs/Web/JavaScript/Reference/Errors/Cant_delete)
    78. [ TypeError: Reduce of empty array with no initial value ](/en-US/docs/Web/JavaScript/Reference/Errors/Reduce_of_empty_array_with_no_initial_value)
    79. [ TypeError: setting getter-only property "x" ](/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only)
    80. [ TypeError: X.prototype.y called on incompatible type ](/en-US/docs/Web/JavaScript/Reference/Errors/Called_on_incompatible_type)
    81. [ URIError: malformed URI sequence ](/en-US/docs/Web/JavaScript/Reference/Errors/Malformed_URI)
    82. [ Warning: -file- is being assigned a //# sourceMappingURL, but already has one ](/en-US/docs/Web/JavaScript/Reference/Errors/Already_has_pragma)
    83. [ Warning: unreachable code after return statement ](/en-US/docs/Web/JavaScript/Reference/Errors/Stmt_after_return)
  15. Misc 
    1. [ JavaScript technologies overview ](/en-US/docs/Web/JavaScript/JavaScript_technologies_overview)
    2. [ Lexical grammar ](/en-US/docs/Web/JavaScript/Reference/Lexical_grammar)
    3. [ Iteration protocols ](/en-US/docs/Web/JavaScript/Reference/Iteration_protocols)
    4. [ Strict mode ](/en-US/docs/Web/JavaScript/Reference/Strict_mode)
    5. [ Template literals ](/en-US/docs/Web/JavaScript/Reference/Template_literals)
    6. [ Trailing commas ](/en-US/docs/Web/JavaScript/Reference/Trailing_commas)
    7. [ Deprecated features ](/en-US/docs/Web/JavaScript/Reference/Deprecated_and_obsolete_features)

##  In this article

  * Tutorials 
  * Reference 

#  JavaScript

**JavaScript** ( **JS** ) is a lightweight interpreted (or [ just-in-time
](https://en.wikipedia.org/wiki/Just-in-time_compilation) compiled)
programming language with [ first-class functions ](/en-
US/docs/Glossary/First-class_Function) . While it is most wel