{"id":20805276,"url":"https://github.com/matijaoe/modern-javascript-snippets","last_synced_at":"2025-04-09T21:33:14.505Z","repository":{"id":64971232,"uuid":"579748476","full_name":"matijaoe/modern-javascript-snippets","owner":"matijaoe","description":"⚡ Short and effective JavaScript \u0026 TypeScript snippets for the modern-day developer","archived":false,"fork":false,"pushed_at":"2023-11-12T12:11:51.000Z","size":207,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-23T23:26:56.305Z","etag":null,"topics":["deno","javascript-snippets","typescript","typescript-snippets","vscode","vscode-snippets"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=matijao.modern-js-snippets","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matijaoe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-18T19:36:57.000Z","updated_at":"2024-10-28T12:43:09.000Z","dependencies_parsed_at":"2023-01-13T15:01:31.351Z","dependency_job_id":null,"html_url":"https://github.com/matijaoe/modern-javascript-snippets","commit_stats":null,"previous_names":["matijaoe/modern-javascript-snippets"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matijaoe%2Fmodern-javascript-snippets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matijaoe%2Fmodern-javascript-snippets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matijaoe%2Fmodern-javascript-snippets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matijaoe%2Fmodern-javascript-snippets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matijaoe","download_url":"https://codeload.github.com/matijaoe/modern-javascript-snippets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248114971,"owners_count":21050147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deno","javascript-snippets","typescript","typescript-snippets","vscode","vscode-snippets"],"created_at":"2024-11-17T19:14:02.712Z","updated_at":"2025-04-09T21:33:14.462Z","avatar_url":"https://github.com/matijaoe.png","language":"TypeScript","readme":"# Modern JavaScript Snippets ⚡\n\n\u003e Short and effective JavaScript \u0026 TypeScript snippets for the modern-day developer.\n\n\u003cbr\u003e\n\n![JavaScript](https://img.shields.io/badge/javascript-%23F7DF1C.svg?style=for-the-badge\u0026logo=javascript\u0026logoColor=%23323330)\n![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)\n\n## Features\n\n- Over **200** carefully crafted snippets\n- Modern JavaScript syntax\n- Modern JavaScript APIs (Intl, URL, Navigator...)\n- Strategically placed tabstops\n- Prefixes created with exact-match in mind\n- Auto-generated documentation\n\n## Support\n\nOnly JavaScript and TypeScript will be supported. Specific frameworks get their own extensions. No bloat.\n\n## Setup\n\nThe following is not mandatory, but could provide a nicer experience. Test them out and decide what works best for you.\n\nLook for it in user settings, or edit the settings.json directly:\n\n```jsonc\n\"editor.formatOnSave\": true,\n\n// Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.\n\"editor.tabCompletion\": \"onlySnippets\"\n```\n\n## Style\n\nMost of the code snippets are without semicolons (`;`), except for where it\nallows for better tabstop management. Strings use single quotes (`'`).\n\nIt's highly recommended to use these snippets along with Prettier/ESLint to have\nyour code automatically formatted to your preference.\n\n## Snippet syntax\n\n### Tabstops\n\n- `$1`, `$2`, `$3` specify cursor locations, in order in which tabstops will be\n  visited\n- `$0` denotes the final cursor position\n- Multiple occurrences of the same tabstop are linked and updated in sync\n\n### Placeholders\n\n- Tabstops with default values → `${1:name}`\n\n### Choices\n\n- Tabstops with multiple values → `${1|one,two,three|}`.\n- Truncated in documentation, for easier viewing → `${1|one,...|}`.\n\n\u003c!-- START:docs-gen --\u003e\n## Snippets\n\n\n### Assignments\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eca\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econst assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:name} = $2\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ela\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003elet assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nlet ${1:name} = $2\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecas\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econst string assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:name} = '$2'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elas\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003elet string assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nlet ${1:name} = '$2'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecaa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econst array assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:arr} = [$0]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecao\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econst object assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:obj} = { $0 }\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edob\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eobject destructuring\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst { $2 } = ${1:obj}$0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edar\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray destructuring\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst [$2] = ${1:arr}$0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Functions\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efn\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efunction\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nfunction ${1:fn}($2) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efna\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003easync function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nasync function ${1:fn}($2) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enfn\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enamed arrow function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:fn} = ($2) =\u003e {$0}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enfna\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003easync named arrow function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:fn} = async ($2) =\u003e {$0}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eaf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earrow function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n($1) =\u003e $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003earr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earrow function arrow\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n=\u003e $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eafa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003easync arrow function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nasync ($1) =\u003e $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eafb\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earrow function with body\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n($1) =\u003e {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eafba\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003easync arrow function with body\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nasync ($1) =\u003e {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eiife\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimmediately-invoked function expression\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n(($1) =\u003e {\n  $0\n})($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Flow control\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eiff\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eif statement\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nif (${1:true}) {$2}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eifel\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eif/else statement\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nif (${1:true}) {$2} else {$3}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eifei\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eif/else-if statement\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nif (${1:true}) {$2} else if ($3) {$4}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eel\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eelse statement\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nelse {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eei\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eelse if statement\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nelse if ($1) {$2}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eter\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eternary operator\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1 ? $2 : $3\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etera\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eternary expression assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:name} = $2 ? $3 : $4\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esw\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eswitch\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nswitch ($1) {\n  case $2 : $3\n  default: $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003escase\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eswitch case\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ncase $1 : $2\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etry/catch\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntry {\n  $1\n} catch (err) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etcf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etry/catch/finally\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntry {\n  $1\n} catch (err) {\n  $2\n} finally {\n  $3\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etry/finally\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntry {\n  $1\n} finally {\n  $2\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Loops\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eflr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efor loop (range)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nfor (let ${1:i} = 0; ${1:i} \u003c ${2:5}; ${1:i}++) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erfl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ereverse for loop\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nfor (let ${1:i} = ${2:iter}.length - 1; ${1:i} \u003e= 0; ${1:i}--) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efin\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efor...in loop\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nfor (let ${1:key} in ${2:array}) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efof\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efor...of loop\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nfor (let ${1:item} of ${2:items}) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efofa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efor await...of loop\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nfor await (let ${1:item} of ${2:items}) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ewl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ewhile loop\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nwhile (${1:true}) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edwl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003edo while loop\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ndo {\n  $0\n} while ($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Classes\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eclass\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nclass $1 {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecse\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eclass extends\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nclass $1 extends ${2:Base} {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecsp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eclass proprety\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:name} = ${2:value}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecsc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eclass with constructor\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nclass $1 {\n  constructor($2) {\n    $0\n  }\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecsec\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eclass extends with constructor\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nclass $1 extends ${2:Base} {\n  constructor($3) {\n    $0\n  }\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecst\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eclass constructor\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconstructor($1) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eget\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003egetter\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nget ${1:property}() {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eset\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003esetter\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nset ${1:property}(${2:value}) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003egetter and setter\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nget ${1:property}() {\n  $0\n}\nset ${1:property}(${2:value}) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003emethod\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:name}($2) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emeta\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003easync method\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nasync ${1:name}($2) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Array methods\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eaat\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray.at\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.at(${2:0})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efe\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.forEach()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.forEach((${2:item}) =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emap\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.map()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.map((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efmap\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.flatMap()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.flatMap((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ereduce\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.reduce()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.reduce((${2:acc}, ${3:curr}) =\u003e {\n  $0\n}, ${4:initial})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ereduceRight\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.reduceRight()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.reduceRight((${2:acc}, ${3:curr}) =\u003e {\n  $0\n}, ${4:initial})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efilter\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.filter()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.filter((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efind\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.find()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.find((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efindl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.findLast()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.findLast((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efindi\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.findIndex()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.findIndex((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efindli\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.findLastIndex()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.findLastIndex((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eevery\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.every()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.every((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esome\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.some()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.some((${2:item}) =\u003e ${3})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ereverse\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.reverse()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.reverse()\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esort\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.sort(\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.sort((${2:a}, ${3:b}) =\u003e $4)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egroup\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.group()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.group((${2:item}) =\u003e $3)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egroupMap\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.groupToMap()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.groupToMap((${2:item}) =\u003e $3)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emapStr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.map() to string\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.map(String)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emapNum\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.map() to number\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.map(Number)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emapBool\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.map() to boolean\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.map(Boolean)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efilterTruthy\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.filter() truthy\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.filter(Boolean)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003earfr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eArray.from\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nArray.from($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Modules\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eim\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimport from module\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport { $2 } from '${1:module}'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eimd\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimport default\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport ${2:thing} from '${1:module}'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eima\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimport as\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport ${2:*} as ${3:name} from '${1:module}'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eimf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimport file\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport '$1'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eimp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimport dynamic\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport('$0')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eimpa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eawait import dynamic\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nawait import('$0')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eimm\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eimport meta\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport.meta.$0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eex\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eexd\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport default\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport default $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eexf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport from\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport { $0 } from '${1:module}'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eexa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport all from\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport * from '${1:module}'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eexo\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport object\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport const ${1:name} = { $0 }\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eefn\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport function ${1:name}($2) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eedfn\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport default function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport default function ${1:name}($2) {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eenfn\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eexport named arrow function\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nexport const ${1:name} = ($2) =\u003e {$0}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Promises\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efet\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efetch\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nawait fetch($1).then(res =\u003e res.json())\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003efeta\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003efetch assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1|data,...|} = await fetch($2).then(res =\u003e res.json())\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enpr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003epromise\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Promise((resolve, reject) =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eprr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePromise.resolve\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nPromise.resolve($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eprj\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePromise.reject\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nPromise.reject($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ethen\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003epromise then()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.then((${2:value}) =\u003e $0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecatc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003epromise catch()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.catch((${2:err}) =\u003e $0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ethenc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003epromise then().catch()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.then((${2:value}) =\u003e $3)\n  .catch((${4:err}) =\u003e $5)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003epra\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePromise.all\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nPromise.all($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003epras\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePromise.allSettled\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nPromise.allSettled($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003epran\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ePromise.any\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nPromise.any($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Literals, operators, expressions\nGrouping them all together for now\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003earr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray literal\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n[$0]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eob\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eobject literal\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n{ }\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etemplate literal\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n`$0`\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etle\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etemplate literal operation\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${${1:name}}$0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ens\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enew Set\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Set($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enm\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enew Map\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Map($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eam\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray merge\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n[...$1]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eom\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eobject merge\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n{ ...$1 }\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eor\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eOR (||)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n|| $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eand\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eAND (\u0026\u0026)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n\u0026\u0026 $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elt\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eless than (\u003c)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n\u003c $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elte\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eless than or equal to (\u003c=)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n\u003c= $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egt\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003egreater than (\u003e)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n\u003e $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egte\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003egreater than or equal to (\u003e=)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n\u003e= $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enullish coalescing (??)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n?? $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eneq\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003estrict non-equality (===)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n!== $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eeq\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003estrict equality (===)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n=== $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eora\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003elogical OR assignment (||=)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n||= $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enca\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enullish coalescing assignment (??=)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n??= $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eplus\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eaddition\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n+ $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eminus\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003esubtraction\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n- $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emul\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003emultiplication\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n* $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ediv\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003edivision\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n/ $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emod\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003emodulo\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n% $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eaddition assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n+= ${0:1}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esub\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003esubtraction assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n-= ${0:1}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emula\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003emultiplication assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n*= ${0:1}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ediva\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003edivision assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n/= ${0:1}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecol\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ecolon\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n: \n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Objects\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eoe\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eObject.entries\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nObject.entries($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eofe\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eObject.fromEntries\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nObject.fromEntries($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eok\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eObject.keys\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nObject.keys($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eov\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eObject.values\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nObject.values($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Utilities\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003epi\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eparse int\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nparseInt($1, ${2|10,...|})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003epf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eparse float\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nparseFloat($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003euniq\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray of unique values\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n[...new Set($0)]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eseq\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003esequence of 0..n\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n[...Array(${1:length}).keys()]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ecopy to clipboard\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnavigator.clipboard.writeText($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enurl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enew URL\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew URL($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eurl search params\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew URLSearchParams($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003espa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eurl search params assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:params} = new URLSearchParams($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003espg\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eget search param\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:params}.get($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esps\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eset search param\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:params}.set($2, $3)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Returns and exceptions\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eret\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ereturn\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nreturn $0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ereo\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ereturn object\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nreturn {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erei\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ereturn object inline\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nreturn ({$0})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eterr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ethrow error\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nthrow new ${1|Error,...|}($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Timers\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esi\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eset interval\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nsetInterval(() =\u003e {\n  $0\n}, ${1:1000})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003est\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eset timeout\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nsetTimeout(() =\u003e {\n  $0\n}, ${1:1000})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003esim\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eset immediate\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nsetImmediate(() =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eprnt\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eprocess next tick\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nprocess.nextTick(() =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### JSON\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ejsp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eJSON parse\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nJSON.parse(${1:json})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ejss\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eJSON stringify\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nJSON.stringify(${1:value})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ejssf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eJSON stringify (formatted)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nJSON.stringify(${1:value}, null, 2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Console\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.log\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.log($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eci\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.info\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.info($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecdi\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.dir\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.dir($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ece\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.error\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.error($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecw\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.warn\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.warn($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ect\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.time\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.time('$1')\n$0\nconsole.timeEnd('$1')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ectb\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.table\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.table($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eclr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.clear\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.clear()\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eclm\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.log message\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.log('$0')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eclo\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.log object\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.log({ $0 })\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eclc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.log clipboard\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.log({ $CLIPBOARD })\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecll\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.log (labeled)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.log('$1 :', $1$2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecil\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.info (labeled)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.info('$1 :', $1$2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecel\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.error (labeled)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.error('$1 :', $1$2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecwl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econsole.warn (labeled)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconsole.warn('$1 :', ${2:$1})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Dates\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003end\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enew Date()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Date($1)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ends\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003enew Date() with date string\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Date('${1:2023}-${2:|01,...|}-${3:31}')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003enow\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDate.now()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nDate.now()\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etls\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eDate.toLocaleString()\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1.toLocaleString('${2|en-US,...|}'$3)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### DOM\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.querySelector('$2')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqsa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector all\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.querySelectorAll('$2')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqsaa\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector all as array\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n[...${1:document}.querySelectorAll('$2')]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eael\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eevent listener\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.addEventListener('${2:click}', (e$3) =\u003e $0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqsae\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector with event listener\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.querySelector('$2')?.addEventListener('${3:click}', (e$4) =\u003e $0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egid\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eget element by id\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.getElementById('$2')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Node\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ereq\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003erequire\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nrequire('${1:module}')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003erqr\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003erequire assignment\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst $1 = require('${1:module}')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003emex\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003emodule.exports\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nmodule.exports = {$1}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Intl\nInternationalization API\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.NumberFormat\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.NumberFormat('${1|en-US,...|}'$3).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einfs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.NumberFormat style\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.NumberFormat('${1|en-US,...|}', {\n  style: '${3|decimal,...|}',$4\n}).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einfc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.NumberFormat as currency\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.NumberFormat('${1|en-US,...|}', {\n  style: 'currency',\n  currency: '${3|USD,...|}',$4\n}).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einfp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.NumberFormat as percentage\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.NumberFormat('${1|en-US,...|}', {\n  style: 'percent',$3\n}).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einfu\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.NumberFormat as unit\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.NumberFormat('${1|en-US,...|}', {\n  style: 'unit',\n  unit: '${3|acceleration-g-force,...|}',\n  unitDisplay: '${4|long,...|}',$0\n}).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eidtf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.DateTimeFormat\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.DateTimeFormat('${1|en-US,...|}'$3).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eidtfs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eIntl.DateTimeFormat with style\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nnew Intl.DateTimeFormat ('${1|en-US,...|}', {\n  dateStyle: '$3',$0\n}).format($2)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Types\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eaia\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eis array\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nArray.isArray($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etof\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etypeof\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntypeof $1\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etofc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etypeof check\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntypeof $1 === '${2|undefined,...|}'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eiof\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003einstanceof\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1 instanceof ${0:Class}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eisnil\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eis nil\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1 == null\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ennil\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eis not nil\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n$1 != null\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eisnan\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eis NaN\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nisNaN($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ennan\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eis not NaN\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n!isNaN($0)\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Testing\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003edesc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003edescribe\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ndescribe('$1', () =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003econt\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econtext\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ncontext('$1', () =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eit\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etest (synchronous)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nit('$1', () =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eita\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etest (asynchronous)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nit('$1', async () =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eitc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etest (callback)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nit('$1', (done) =\u003e {\n  $0\n  done()\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ebf\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ebefore test suite\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nbefore(() =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ebfe\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ebefore each test\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nbeforeEach(() =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eaft\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eafter test suite\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nafter(() =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eafe\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eafter each test\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nafterEach(() =\u003e {\n  $0\n})\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Globals\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ewlo\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ewindow.location\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nwindow.location\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ewlh\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ewindow.location.href\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nwindow.location.href\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Misc\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eus\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e'use strict' statement\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n'use strict'\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eprs\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eprocess.server\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nprocess.server\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eprc\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eprocess.client\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nprocess.client\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eenv\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eenv variable\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nprocess.env.$0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eenvv\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eenv variable (meta)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nimport.meta.env.$0\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\n## TypeScript\nAvailable only where TypeScript is supported\n\n### Declarations\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecat\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003econst assignment (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:name}: ${2:string} = $3\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003elat\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003elet assignment (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nlet ${1:name}: ${2:string} = $3\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecaat\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003earray assignment (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:arr}: ${2:string}[] = [$0]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003ecaot\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eobject assignment (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\nconst ${1:obj}: ${2:object} = { $0 }\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Types\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eint\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003einterface\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ninterface ${1:Model} {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003einte\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003einterface extends\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ninterface ${1:Model} extends ${2:Base} {\n  $0\n}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etp\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etype\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntype ${1:Model} = $2\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etpu\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etype union\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntype ${1:Model} = ${2:string} | ${3:number}\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003etpi\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003etype intersection\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\ntype ${1:Model} = $2 \u0026 $3\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### DOM\n\n\u003ctable width=\"100%\"\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ePrefix\u003c/td\u003e\n\u003ctd\u003eName\u003c/td\u003e\n\u003ctd\u003eBody\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqst\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.querySelector\u003c${2|HTMLElement,...|}\u003e('$3')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqsat\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector all (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.querySelectorAll\u003c${2|HTMLElement,...|}\u003e('$3')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003eqsaat\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003equery selector all as array (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n[...${1:document}.querySelectorAll\u003c${2|HTMLElement,...|}\u003e('$3')]\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode\u003egidt\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eget element by id (typed)\u003c/td\u003e\n\u003ctd\u003e\n\n```javascript\n${1:document}.getElementById\u003c${2|HTMLElement,...|}\u003e('$3')\n```\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- END:docs-gen --\u003e\n\n## Running locally\n\n```bash\n# ensure Deno is installed\n# https://deno.land/manual@v1.29.1/getting_started/installation\n\n# generate .code-snippets and documentation\nnpm run generate\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatijaoe%2Fmodern-javascript-snippets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatijaoe%2Fmodern-javascript-snippets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatijaoe%2Fmodern-javascript-snippets/lists"}