└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # What do you call this in JavaScript? 2 | 3 | This is a list of ambiguous symbols used in JavaScript that may be confusing to search for on the web. 4 | 5 | ## Symbols in JavaScript 6 | 7 | | Symbol | Description | Colloquial verbiage | 8 | | ------ | -------------- | ------------------- | 9 | | `=>` | [Arrow function expression](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions) | _"Hash rocket", "fat arrow"_ | 10 | | `===` | [Strict equality comparison](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness) | _"Threequal", "identity"_ | 11 | | `==` | [Abstract equality comparison](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness) | _"Loose equality"_ | 12 | | `{ ...object }` | [Object spread operator](https://redux.js.org/recipes/using-object-spread-operator) | _"Splat"_ | 13 | | `function fn(...args)` | [Rest parameters](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters) | _"Stargs"_ | 14 | | `const { a, b } = ...` | [Destructuring assignment](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) | | 15 | | `{ [name]: "..." }` | [Computed property names](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names) | | 16 | | `++` | [Increment operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Increment) | | 17 | | `--` | [Decrement operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Decrement) | | 18 | | `**` | [Exponentiation operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Exponentiation) | | 19 | | `-a` | [Unary negation operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_negation) | | 20 | | `+a` | [Unary plus operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus) | | 21 | 22 | ## Symbols in TC39 proposals 23 | 24 | Some features that may not be available in mainstream JavaScript yet. 25 | 26 | | Symbol | Description | Colloquial verbiage | 27 | | ------ | -------------- | ------------------- | 28 | | `??` | [Nullish coalescing](https://github.com/tc39/proposal-nullish-coalescing) | | 29 | | `?.` | [Optional chaining](https://github.com/tc39/proposal-optional-chaining) | _"Safe navigation operator"_ (Groovy), _"Elvis operator"_, _"Lonely operator"_ (Ruby) | 30 | | `@foo()` | [Class decorators](https://github.com/tc39/proposal-decorators) | | 31 | | `#method` | [Private fields](https://github.com/tc39/proposal-private-fields-in-in) | | 32 | | `#{...}` | [Record](https://github.com/tc39/proposal-record-tuple) (immutable) | | 33 | | `#[...]` | [Tuple](https://github.com/tc39/proposal-record-tuple) (immutable) || 34 | 35 | ## Thanks 36 | 37 | Inspired by [JuanitoFatas/what-do-you-call-this-in-ruby](https://github.com/JuanitoFatas/what-do-you-call-this-in-ruby). 38 | --------------------------------------------------------------------------------