René's URL Explorer Experiment


Title: Vietnamese Translation Progress · Issue #1 · javascript-tutorial/vi.javascript.info · GitHub

Open Graph Title: Vietnamese Translation Progress · Issue #1 · javascript-tutorial/vi.javascript.info

X Title: Vietnamese Translation Progress · Issue #1 · javascript-tutorial/vi.javascript.info

Description: Maintainer List @henryonsoftware, @tunggnu For New Translators Please read this first (click to open) To translate an article: Check that no one else has claimed your article in the checklist below. Comment below with the title of the ar...

Open Graph Description: Maintainer List @henryonsoftware, @tunggnu For New Translators Please read this first (click to open) To translate an article: Check that no one else has claimed your article in the checklist below...

X Description: Maintainer List @henryonsoftware, @tunggnu For New Translators Please read this first (click to open) To translate an article: Check that no one else has claimed your article in the checklist below...

Opengraph URL: https://github.com/javascript-tutorial/vi.javascript.info/issues/1

X: @github

direct link

Domain: patch-diff.githubusercontent.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Vietnamese Translation Progress","articleBody":"\n## Maintainer List\n\n@henryonsoftware, @tunggnu\n\n## For New Translators\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003ePlease read this first (click to open)\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\nTo translate an article:\n\n1. Check that no one else has claimed your article in the checklist below.\n2. Comment below with the title of the article that you would like to translate, exactly as listed, e.g. `An Introduction to JavaScript`. \n    - Please take only one article at a time.\n3. Fork this repo, translate the article in your fork and submit a pull request!\n    - The pull request title should be same as the article, e.g. `An Introduction to JavaScript` (just like comment)\n\nPlease be prompt with your translations! If you find that you can't commit any more, let maintainers know so they can assign the page to someone else.\n\u003c/p\u003e\n\u003c/details\u003e\n\n## For Maintainers\n\n\u003cdetails\u003e\u003csummary\u003e\u003cb\u003eClick to open\u003c/b\u003e\u003c/summary\u003e\n\u003cp\u003e\nWe recommend that a translation has 2 reviews to be merged. \n\nPlease let others know what you do, on community boards and chats, invite them to join. Translations become better if more people see them.\n\nTranslations are tracked below, like this:\n\n* [ ] [Home Page](url) (@iliakan) #1\n\nOur helpful bot watches comments and adds the translator nick and PR id, marks completed, when PR is merged. You can read the details at \u003chttps://javascript.info/translate/bot\u003e.\n\nIf something doesn't work right, please contact @iliakan. \n\n\u003c/p\u003e\n\u003c/details\u003e\n\n## Team translation\n\nMore details about team translation: \u003chttps://javascript.info/translate/bot\u003e.\n\nOnly maintainers can check/uncheck items below. If you're not, please write in a comment what you take to translate, the title, exactly as in the list.\n\n## The JavaScript language\n\n\n### An introduction\n\n* [X] [An Introduction to JavaScript](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/1-intro) (@mnismt) #30\n* [ ] [Manuals and specifications](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/2-manuals-specifications) (@mnismt) #36\n* [ ] [Code editors](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/3-code-editors) (@mnismt) #40\n* [ ] [Developer console](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/4-devtools) (@mnismt)\n\n### JavaScript Fundamentals\n\n* [X] [Hello, world!](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/01-hello-world) (@hunghedu) #17\n* [X] [Code structure](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/02-structure) (@hunghedu) #18\n* [X] [The modern mode, \"use strict\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/03-strict-mode) (@hunghedu) #33\n* [X] [Variables](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/04-variables) (@hunghedu) #34\n* [X] [Data types](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/05-types) (@hunghedu) #39\n* [X] [Interaction: alert, prompt, confirm](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/06-alert-prompt-confirm) (@henryonsoftware) #73\n* [ ] [Type Conversions](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/07-type-conversions) (@thiennguyenminh1a)\n* [X] [Basic operators, maths](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/08-operators) (@henryonsoftware) #75\n* [ ] [Comparisons](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/09-comparison) (@tttam0113)\n* [ ] [Conditional branching: if, '?'](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/10-ifelse) (@leduyquang753)\n* [ ] [Logical operators](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/11-logical-operators) (@thangisme)\n* [ ] [Nullish coalescing operator '??'](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/12-nullish-coalescing-operator) (@hiimchinh) #125\n* [ ] [Loops: while and for](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/13-while-for) (@TienPhongDX)\n* [ ] [The \"switch\" statement](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/14-switch) (@hiimchinh)\n* [X] [Functions](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/15-function-basics) (@hoangnv170752) #222\n* [ ] [Function expressions](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/16-function-expressions) (@ducnguyen96) #148\n* [ ] [Arrow functions, the basics](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/17-arrow-functions-basics) (@ducnguyen96)\n* [ ] [JavaScript specials](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/18-javascript-specials) (@kungfu321)\n\n### Code quality\n\n* [X] [Debugging in the browser](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/01-debugging-chrome) (@ImVietnam) #173\n* [X] [Coding Style](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/02-coding-style) (@ImVietnam) #174\n* [ ] [Comments](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/03-comments) (@dpc4f) #60\n* [X] [Ninja code](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/04-ninja-code) (@ImVietnam) #175\n* [ ] [Automated testing with Mocha](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/05-testing-mocha) (@ImVietnam) #176\n* [ ] [Polyfills and transpilers](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/06-polyfills) (@ImVietnam) #177\n\n### Objects: the basics\n\n* [X] [Objects](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/01-object) (@henryonsoftware) #81\n* [ ] [Object references and copying](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/02-object-copy) (@ImVietnam) #178\n* [ ] [Garbage collection](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/03-garbage-collection) (@ImVietnam) #179\n* [ ] [Object methods, \"this\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/04-object-methods) (@ImVietnam) #180\n* [ ] [Constructor, operator \"new\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/06-constructor-new) (@ImVietnam) #181\n* [ ] [Optional chaining '?.'](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/07-optional-chaining) (@ImVietnam) #183\n* [ ] [Symbol type](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/08-symbol) (@ImVietnam) #184\n* [ ] [Object to primitive conversion](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/09-object-toprimitive) (@ImVietnam) #186\n\n### Data types\n\n* [ ] [Methods of primitives](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/01-primitives-methods) (@trongtai37)\n* [ ] [Numbers](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/02-number) (@ImVietnam) #187\n* [ ] [Strings](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/03-string) (@ImVietnam) #188\n* [ ] [Arrays](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/04-array) (@ImVietnam) #189\n* [ ] [Array methods](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/05-array-methods) (@ImVietnam) #190\n* [ ] [Iterables](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/06-iterable) (@ImVietnam) #191\n* [ ] [Map and Set](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/07-map-set) (@ImVietnam) #192\n* [ ] [WeakMap and WeakSet](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/08-weakmap-weakset) (@ImVietnam) #193\n* [ ] [Object.keys, values, entries](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/09-keys-values-entries) (@ImVietnam) #194\n* [ ] [Destructuring assignment](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/10-destructuring-assignment) (@ImVietnam) #195\n* [ ] [Date and time](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/11-date) (@ImVietnam) #196\n* [ ] [JSON methods, toJSON](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/12-json) (@ImVietnam) #197\n\n### Advanced working with functions\n\n* [ ] [Recursion and stack](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/01-recursion) (@ImVietnam) #199\n* [ ] [Rest parameters and spread syntax](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/02-rest-parameters-spread) (@ImVietnam) #200\n* [ ] [Variable scope, closure](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/03-closure) (@ImVietnam) #204\n* [X] [The old \"var\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/04-var) \n* [X] [Global object](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/05-global-object) (@orientdang)\n* [ ] [Function object, NFE](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/06-function-object) (@ImVietnam) #205\n* [ ] [The \"new Function\" syntax](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/07-new-function) (@ImVietnam) #206\n* [ ] [Scheduling: setTimeout and setInterval](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/08-settimeout-setinterval) (@ImVietnam) #207\n* [ ] [Decorators and forwarding, call/apply](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/09-call-apply-decorators) (@ImVietnam) #208\n* [X] [Function binding](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/10-bind) (@hunghedu) #19\n* [X] [Arrow functions revisited](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/12-arrow-functions) \n\n### Object properties configuration\n\n* [X] [Property flags and descriptors](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/07-object-properties/01-property-descriptors) \n* [X] [Property getters and setters](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/07-object-properties/02-property-accessors) \n\n### Prototypes, inheritance\n\n* [X] [Prototypal inheritance](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/01-prototype-inheritance) (@hunghedu) #11\n* [X] [F.prototype](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/02-function-prototype) (@hunghedu) #12\n* [X] [Native prototypes](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/03-native-prototypes) (@hunghedu) #14\n* [X] [Prototype methods, objects without __proto__](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/04-prototype-methods) (@hunghedu) #16\n\n### Classes\n\n* [X] [Class basic syntax](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/01-class) (@hunghedu) #23\n* [X] [Class inheritance](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/02-class-inheritance) (@hunghedu) #25\n* [X] [Static properties and methods](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/03-static-properties-methods) (@hunghedu) #27\n* [X] [Private and protected properties and methods](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/04-private-protected-properties-methods) (@hunghedu) #28\n* [ ] [Extending built-in classes](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/05-extend-natives) (@ImVietnam) #209\n* [ ] [Class checking: \"instanceof\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/06-instanceof) (@ImVietnam) #210\n* [ ] [Mixins](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/07-mixins) (@ImVietnam) #217\n\n### Error handling\n\n* [ ] [Error handling, \"try...catch\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/10-error-handling/1-try-catch) (@khachoangpt) #202\n* [ ] [Custom errors, extending Error](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/10-error-handling/2-custom-errors) (@khachoangpt)\n\n### Promises, async/await\n\n* [ ] [Introduction: callbacks](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/01-callbacks) (@quocthangit247) #76\n* [ ] [Promise](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/02-promise-basics) (@felix-le) #221\n* [ ] [Promises chaining](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/03-promise-chaining) \n* [ ] [Error handling with promises](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/04-promise-error-handling) \n* [ ] [Promise API](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/05-promise-api) (@hoangnv170752)\n* [ ] [Promisification](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/06-promisify) \n* [ ] [Microtasks](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/07-microtask-queue) \n* [ ] [Async/await](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/08-async-await) \n\n### Generators, advanced iteration\n\n* [ ] [Generators](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/12-generators-iterators/1-generators) \n* [ ] [Async iteration and generators](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/12-generators-iterators/2-async-iterators-generators) \n\n### Modules\n\n* [ ] [Modules, introduction](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/13-modules/01-modules-intro) (@MinhNguyenElca)\n* [ ] [Export and Import](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/13-modules/02-import-export) \n* [ ] [Dynamic imports](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/13-modules/03-modules-dynamic-imports) \n\n### Miscellaneous\n\n* [ ] [Proxy and Reflect](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/01-proxy) \n* [ ] [Eval: run a code string](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/02-eval) \n* [ ] [Currying](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/03-currying-partials) \n* [ ] [Reference Type](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/04-reference-type) \n* [ ] [BigInt](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/05-bigint) (@ducdongmg) #220\n* [ ] [Unicode, String internals](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/06-unicode) (@ImVietnam) #216\n* [ ] [WeakRef and FinalizationRegistry](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/07-weakref-finalizationregistry) \n\n## Browser: Document, Events, Interfaces\n\n\n### Document\n\n* [ ] [Browser environment, specs](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/01-browser-environment) (@hoangnv170752) #223\n* [ ] [DOM tree](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/02-dom-nodes) \n* [ ] [Walking the DOM](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/03-dom-navigation) \n* [ ] [Searching: getElement*, querySelector*](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/04-searching-elements-dom) \n* [ ] [Node properties: type, tag and contents](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/05-basic-dom-node-properties) \n* [ ] [Attributes and properties](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/06-dom-attributes-and-properties) \n* [ ] [Modifying the document](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/07-modifying-document) \n* [ ] [Styles and classes](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/08-styles-and-classes) \n* [ ] [Element size and scrolling](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/09-size-and-scroll) \n* [ ] [Window sizes and scrolling](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/10-size-and-scroll-window) \n* [ ] [Coordinates](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/11-coordinates) \n\n### Introduction to Events\n\n* [ ] [Introduction to browser events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/01-introduction-browser-events) \n* [ ] [Bubbling and capturing](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/02-bubbling-and-capturing) \n* [ ] [Event delegation](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/03-event-delegation) \n* [ ] [Browser default actions](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/04-default-browser-action) \n* [ ] [Dispatching custom events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/05-dispatch-events) \n\n### UI Events\n\n* [ ] [Mouse events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/1-mouse-events-basics) \n* [ ] [Moving the mouse: mouseover/out, mouseenter/leave](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave) \n* [ ] [Drag'n'Drop with mouse events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/4-mouse-drag-and-drop) \n* [ ] [Pointer events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/6-pointer-events) \n* [ ] [Keyboard: keydown and keyup](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/7-keyboard-events) \n* [ ] [Scrolling](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/8-onscroll) \n\n### Forms, controls\n\n* [ ] [Form properties and methods](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/1-form-elements) \n* [ ] [Focusing: focus/blur](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/2-focus-blur) \n* [ ] [Events: change, input, cut, copy, paste](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/3-events-change-input) \n* [ ] [Forms: event and method submit](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/4-forms-submit) \n\n### Document and resource loading\n\n* [ ] [Page: DOMContentLoaded, load, beforeunload, unload](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/5-loading/01-onload-ondomcontentloaded) \n* [ ] [Scripts: async, defer](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/5-loading/02-script-async-defer) \n* [ ] [Resource loading: onload and onerror](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/5-loading/03-onload-onerror) \n\n### Miscellaneous\n\n* [ ] [Mutation observer](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/99-ui-misc/01-mutation-observer) \n* [ ] [Selection and Range](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/99-ui-misc/02-selection-range) \n* [ ] [Event loop: microtasks and macrotasks](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/99-ui-misc/03-event-loop) \n\n## Frames and windows\n\n* [ ] [Popups and window methods](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/3-frames-and-windows/01-popup-windows) \n* [ ] [Cross-window communication](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/3-frames-and-windows/03-cross-window-communication) \n* [ ] [The clickjacking attack](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/3-frames-and-windows/06-clickjacking) \n\n## Binary data, files\n\n* [ ] [ArrayBuffer, binary arrays](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/01-arraybuffer-binary-arrays) \n* [ ] [TextDecoder and TextEncoder](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/02-text-decoder) \n* [ ] [Blob](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/03-blob) \n* [ ] [File and FileReader](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/04-file) \n\n## Network requests\n\n* [ ] [Fetch](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/01-fetch) \n* [ ] [FormData](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/02-formdata) \n* [ ] [Fetch: Download progress](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/03-fetch-progress) \n* [ ] [Fetch: Abort](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/04-fetch-abort) \n* [ ] [Fetch: Cross-Origin Requests](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/05-fetch-crossorigin) \n* [ ] [Fetch API](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/06-fetch-api) \n* [ ] [URL objects](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/07-url) \n* [ ] [XMLHttpRequest](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/08-xmlhttprequest) \n* [ ] [Resumable file upload](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/09-resume-upload) \n* [ ] [Long polling](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/10-long-polling) \n* [ ] [WebSocket](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/11-websocket) \n* [ ] [Server Sent Events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/12-server-sent-events) \n\n## Storing data in the browser\n\n* [ ] [Cookies, document.cookie](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/6-data-storage/01-cookie) \n* [ ] [LocalStorage, sessionStorage](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/6-data-storage/02-localstorage) \n* [ ] [IndexedDB](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/6-data-storage/03-indexeddb) \n\n## Animation\n\n* [ ] [Bezier curve](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/7-animation/1-bezier-curve) \n* [ ] [CSS-animations](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/7-animation/2-css-animations) \n* [ ] [JavaScript animations](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/7-animation/3-js-animation) \n\n## Web components\n\n* [ ] [From the orbital height](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/1-webcomponents-intro) \n* [ ] [Custom elements](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/2-custom-elements) \n* [ ] [Shadow DOM](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/3-shadow-dom) \n* [ ] [Template element](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/4-template-element) \n* [ ] [Shadow DOM slots, composition](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/5-slots-composition) \n* [ ] [Shadow DOM styling](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/6-shadow-dom-style) \n* [ ] [Shadow DOM and events](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/7-shadow-dom-events) \n\n## Regular expressions\n\n* [ ] [Patterns and flags](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/01-regexp-introduction) \n* [ ] [Character classes](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/02-regexp-character-classes) (@gatostudy)\n* [ ] [Unicode: flag \"u\" and class \\\\p{...}](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/03-regexp-unicode) \n* [ ] [Anchors: string start ^ and end $](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/04-regexp-anchors) \n* [ ] [Multiline mode of anchors ^ $, flag \"m\"](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/05-regexp-multiline-mode) \n* [ ] [Word boundary: \\\\b](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/06-regexp-boundary) \n* [ ] [Escaping, special characters](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/07-regexp-escaping) \n* [ ] [Sets and ranges \\[...\\]](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/08-regexp-character-sets-and-ranges) \n* [ ] [Quantifiers +, *, ? and {n}](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/09-regexp-quantifiers) \n* [ ] [Greedy and lazy quantifiers](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/10-regexp-greedy-and-lazy) \n* [ ] [Capturing groups](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/11-regexp-groups) \n* [ ] [Backreferences in pattern: \\\\N and \\\\k\\\u003cname\\\u003e](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/12-regexp-backreferences) \n* [ ] [Alternation (OR) |](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/13-regexp-alternation) \n* [ ] [Lookahead and lookbehind](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/14-regexp-lookahead-lookbehind) \n* [ ] [Catastrophic backtracking](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/15-regexp-catastrophic-backtracking) \n* [ ] [Sticky flag \"y\", searching at position](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/16-regexp-sticky) \n* [ ] [Methods of RegExp and String](https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/17-regexp-methods) \n","author":{"url":"https://github.com/iliakan","@type":"Person","name":"iliakan"},"datePublished":"2019-07-03T10:17:20.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":85},"url":"https://github.com/1/vi.javascript.info/issues/1"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:ccc4e02a-b18f-d9d9-b7f0-dc592a968f80
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id807E:73C2E:1448AD2:1C3CABE:6970D127
html-safe-nonceb067d4af5aafaa7127fabd0df4cbd0f5d119760b90c61ac5f0d902bc72d16402
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4MDdFOjczQzJFOjE0NDhBRDI6MUMzQ0FCRTo2OTcwRDEyNyIsInZpc2l0b3JfaWQiOiIxNDcxODEyMDY0OTE1ODA0NDU1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac325b0fb491d0d0d3ceaa7fb5b9d0bc2f892a08aca5ba04155a7fdded3e520ef4
hovercard-subject-tagissue:463668268
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/javascript-tutorial/vi.javascript.info/1/issue_layout
twitter:imagehttps://opengraph.githubassets.com/8312a0582f96052735d3d12718e2271ebacdf3e584c0a0efe2e13a44221e403f/javascript-tutorial/vi.javascript.info/issues/1
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/8312a0582f96052735d3d12718e2271ebacdf3e584c0a0efe2e13a44221e403f/javascript-tutorial/vi.javascript.info/issues/1
og:image:altMaintainer List @henryonsoftware, @tunggnu For New Translators Please read this first (click to open) To translate an article: Check that no one else has claimed your article in the checklist below...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameiliakan
hostnamegithub.com
expected-hostnamegithub.com
None034aaee9edccd455c18591b13122193c6e12dc773e8a203be73abe934f3e3a72
turbo-cache-controlno-preview
go-importgithub.com/javascript-tutorial/vi.javascript.info git https://github.com/javascript-tutorial/vi.javascript.info.git
octolytics-dimension-user_id49552305
octolytics-dimension-user_loginjavascript-tutorial
octolytics-dimension-repository_id195030111
octolytics-dimension-repository_nwojavascript-tutorial/vi.javascript.info
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id195030111
octolytics-dimension-repository_network_root_nwojavascript-tutorial/vi.javascript.info
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release52d1d534d0b88c64972e852deb460d09b433b8b2
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/1#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fjavascript-tutorial%2Fvi.javascript.info%2Fissues%2F1
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fjavascript-tutorial%2Fvi.javascript.info%2Fissues%2F1
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=javascript-tutorial%2Fvi.javascript.info
Reloadhttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/1
Reloadhttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/1
Reloadhttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/1
javascript-tutorial https://patch-diff.githubusercontent.com/javascript-tutorial
vi.javascript.infohttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fjavascript-tutorial%2Fvi.javascript.info
Fork 44 https://patch-diff.githubusercontent.com/login?return_to=%2Fjavascript-tutorial%2Fvi.javascript.info
Star 40 https://patch-diff.githubusercontent.com/login?return_to=%2Fjavascript-tutorial%2Fvi.javascript.info
Code https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info
Issues 3 https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues
Pull requests 41 https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/pulls
Discussions https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/discussions
Actions https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/actions
Security Uh oh! There was an error while loading. Please reload this page. https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/security
Please reload this pagehttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/1
Insights https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/pulse
Code https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info
Issues https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues
Pull requests https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/pulls
Discussions https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/discussions
Actions https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/actions
Security https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/security
Insights https://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/pulse
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/javascript-tutorial/vi.javascript.info/issues/1
New issuehttps://patch-diff.githubusercontent.com/login?return_to=https://github.com/javascript-tutorial/vi.javascript.info/issues/1
Vietnamese Translation Progresshttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/1#top
https://github.com/iliakan
https://github.com/iliakan
iliakanhttps://github.com/iliakan
on Jul 3, 2019https://github.com/javascript-tutorial/vi.javascript.info/issues/1#issue-463668268
@henryonsoftwarehttps://github.com/henryonsoftware
@tunggnuhttps://github.com/tunggnu
Home Pagehttps://patch-diff.githubusercontent.com/javascript-tutorial/vi.javascript.info/issues/url
@iliakanhttps://github.com/iliakan
Vietnamese Translation Progress #1https://github.com/javascript-tutorial/vi.javascript.info/issues/1
https://javascript.info/translate/bothttps://javascript.info/translate/bot
@iliakanhttps://github.com/iliakan
https://javascript.info/translate/bothttps://javascript.info/translate/bot
An Introduction to JavaScripthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/1-intro
@mnismthttps://github.com/mnismt
An Introduction to JavaScript #30https://github.com/javascript-tutorial/vi.javascript.info/pull/30
Manuals and specificationshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/2-manuals-specifications
@mnismthttps://github.com/mnismt
Manuals and specifications #36https://github.com/javascript-tutorial/vi.javascript.info/pull/36
Code editorshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/3-code-editors
@mnismthttps://github.com/mnismt
Code editors #40https://github.com/javascript-tutorial/vi.javascript.info/pull/40
Developer consolehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/01-getting-started/4-devtools
@mnismthttps://github.com/mnismt
Hello, world!https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/01-hello-world
@hungheduhttps://github.com/hunghedu
Hello, world! #17https://github.com/javascript-tutorial/vi.javascript.info/pull/17
Code structurehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/02-structure
@hungheduhttps://github.com/hunghedu
Code structure #18https://github.com/javascript-tutorial/vi.javascript.info/pull/18
The modern mode, "use strict"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/03-strict-mode
@hungheduhttps://github.com/hunghedu
The modern mode, "use strict" #33https://github.com/javascript-tutorial/vi.javascript.info/pull/33
Variableshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/04-variables
@hungheduhttps://github.com/hunghedu
Variables #34https://github.com/javascript-tutorial/vi.javascript.info/pull/34
Data typeshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/05-types
@hungheduhttps://github.com/hunghedu
Data types #39https://github.com/javascript-tutorial/vi.javascript.info/pull/39
Interaction: alert, prompt, confirmhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/06-alert-prompt-confirm
@henryonsoftwarehttps://github.com/henryonsoftware
Interaction: alert, prompt, confirm #73https://github.com/javascript-tutorial/vi.javascript.info/pull/73
Type Conversionshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/07-type-conversions
@thiennguyenminh1ahttps://github.com/thiennguyenminh1a
Basic operators, mathshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/08-operators
@henryonsoftwarehttps://github.com/henryonsoftware
Basic operators, maths #75https://github.com/javascript-tutorial/vi.javascript.info/pull/75
Comparisonshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/09-comparison
@tttam0113https://github.com/tttam0113
Conditional branching: if, '?'https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/10-ifelse
@leduyquang753https://github.com/leduyquang753
Logical operatorshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/11-logical-operators
Nullish coalescing operator '??'https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/12-nullish-coalescing-operator
@hiimchinhhttps://github.com/hiimchinh
Nullish coalescing operator '??' #125https://github.com/javascript-tutorial/vi.javascript.info/pull/125
Loops: while and forhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/13-while-for
@TienPhongDXhttps://github.com/TienPhongDX
The "switch" statementhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/14-switch
@hiimchinhhttps://github.com/hiimchinh
Functionshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/15-function-basics
@hoangnv170752https://github.com/hoangnv170752
Functions #222https://github.com/javascript-tutorial/vi.javascript.info/pull/222
Function expressionshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/16-function-expressions
@ducnguyen96https://github.com/ducnguyen96
Function expressions #148https://github.com/javascript-tutorial/vi.javascript.info/pull/148
Arrow functions, the basicshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/17-arrow-functions-basics
@ducnguyen96https://github.com/ducnguyen96
JavaScript specialshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/02-first-steps/18-javascript-specials
@kungfu321https://github.com/kungfu321
Debugging in the browserhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/01-debugging-chrome
@ImVietnamhttps://github.com/ImVietnam
Debugging in the browser #173https://github.com/javascript-tutorial/vi.javascript.info/pull/173
Coding Stylehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/02-coding-style
@ImVietnamhttps://github.com/ImVietnam
Coding Style #174https://github.com/javascript-tutorial/vi.javascript.info/pull/174
Commentshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/03-comments
@dpc4fhttps://github.com/dpc4f
Comments #60https://github.com/javascript-tutorial/vi.javascript.info/pull/60
Ninja codehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/04-ninja-code
@ImVietnamhttps://github.com/ImVietnam
Ninja code #175https://github.com/javascript-tutorial/vi.javascript.info/pull/175
Automated testing with Mochahttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/05-testing-mocha
@ImVietnamhttps://github.com/ImVietnam
Automated testing with Mocha #176https://github.com/javascript-tutorial/vi.javascript.info/pull/176
Polyfills and transpilershttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/03-code-quality/06-polyfills
@ImVietnamhttps://github.com/ImVietnam
Polyfills and transpilers #177https://github.com/javascript-tutorial/vi.javascript.info/pull/177
Objectshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/01-object
@henryonsoftwarehttps://github.com/henryonsoftware
Objects #81https://github.com/javascript-tutorial/vi.javascript.info/pull/81
Object references and copyinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/02-object-copy
@ImVietnamhttps://github.com/ImVietnam
Object references and copying #178https://github.com/javascript-tutorial/vi.javascript.info/pull/178
Garbage collectionhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/03-garbage-collection
@ImVietnamhttps://github.com/ImVietnam
Garbage collection #179https://github.com/javascript-tutorial/vi.javascript.info/pull/179
Object methods, "this"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/04-object-methods
@ImVietnamhttps://github.com/ImVietnam
Object methods, "this" #180https://github.com/javascript-tutorial/vi.javascript.info/pull/180
Constructor, operator "new"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/06-constructor-new
@ImVietnamhttps://github.com/ImVietnam
Constructor, operator "new" #181https://github.com/javascript-tutorial/vi.javascript.info/pull/181
Optional chaining '?.'https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/07-optional-chaining
@ImVietnamhttps://github.com/ImVietnam
Optional chaining '?.' #183https://github.com/javascript-tutorial/vi.javascript.info/pull/183
Symbol typehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/08-symbol
@ImVietnamhttps://github.com/ImVietnam
Symbol type #184https://github.com/javascript-tutorial/vi.javascript.info/pull/184
Object to primitive conversionhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/04-object-basics/09-object-toprimitive
@ImVietnamhttps://github.com/ImVietnam
Object to primitive conversion #186https://github.com/javascript-tutorial/vi.javascript.info/pull/186
Methods of primitiveshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/01-primitives-methods
@trongtai37https://github.com/trongtai37
Numbershttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/02-number
@ImVietnamhttps://github.com/ImVietnam
Numbers #187https://github.com/javascript-tutorial/vi.javascript.info/pull/187
Stringshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/03-string
@ImVietnamhttps://github.com/ImVietnam
Strings #188https://github.com/javascript-tutorial/vi.javascript.info/pull/188
Arrayshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/04-array
@ImVietnamhttps://github.com/ImVietnam
Arrays #189https://github.com/javascript-tutorial/vi.javascript.info/pull/189
Array methodshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/05-array-methods
@ImVietnamhttps://github.com/ImVietnam
Array methods #190https://github.com/javascript-tutorial/vi.javascript.info/pull/190
Iterableshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/06-iterable
@ImVietnamhttps://github.com/ImVietnam
Iterables #191https://github.com/javascript-tutorial/vi.javascript.info/pull/191
Map and Sethttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/07-map-set
@ImVietnamhttps://github.com/ImVietnam
Map and Set #192https://github.com/javascript-tutorial/vi.javascript.info/pull/192
WeakMap and WeakSethttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/08-weakmap-weakset
@ImVietnamhttps://github.com/ImVietnam
WeakMap and WeakSet #193https://github.com/javascript-tutorial/vi.javascript.info/pull/193
Object.keys, values, entrieshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/09-keys-values-entries
@ImVietnamhttps://github.com/ImVietnam
Object.keys, values, entries #194https://github.com/javascript-tutorial/vi.javascript.info/pull/194
Destructuring assignmenthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/10-destructuring-assignment
@ImVietnamhttps://github.com/ImVietnam
Destructuring assignment #195https://github.com/javascript-tutorial/vi.javascript.info/pull/195
Date and timehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/11-date
@ImVietnamhttps://github.com/ImVietnam
Date and time #196https://github.com/javascript-tutorial/vi.javascript.info/pull/196
JSON methods, toJSONhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/05-data-types/12-json
@ImVietnamhttps://github.com/ImVietnam
JSON methods, toJSON #197https://github.com/javascript-tutorial/vi.javascript.info/pull/197
Recursion and stackhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/01-recursion
@ImVietnamhttps://github.com/ImVietnam
Recursion and stack #199https://github.com/javascript-tutorial/vi.javascript.info/pull/199
Rest parameters and spread syntaxhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/02-rest-parameters-spread
@ImVietnamhttps://github.com/ImVietnam
Rest parameters and spread syntax #200https://github.com/javascript-tutorial/vi.javascript.info/pull/200
Variable scope, closurehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/03-closure
@ImVietnamhttps://github.com/ImVietnam
Variable scope, closure #204https://github.com/javascript-tutorial/vi.javascript.info/pull/204
The old "var"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/04-var
Global objecthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/05-global-object
@orientdanghttps://github.com/orientdang
Function object, NFEhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/06-function-object
@ImVietnamhttps://github.com/ImVietnam
Function object, NFE #205https://github.com/javascript-tutorial/vi.javascript.info/pull/205
The "new Function" syntaxhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/07-new-function
@ImVietnamhttps://github.com/ImVietnam
The "new Function" syntax #206https://github.com/javascript-tutorial/vi.javascript.info/pull/206
Scheduling: setTimeout and setIntervalhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/08-settimeout-setinterval
@ImVietnamhttps://github.com/ImVietnam
Scheduling: setTimeout and setInterval #207https://github.com/javascript-tutorial/vi.javascript.info/pull/207
Decorators and forwarding, call/applyhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/09-call-apply-decorators
@ImVietnamhttps://github.com/ImVietnam
Decorators and forwarding, call/apply #208https://github.com/javascript-tutorial/vi.javascript.info/pull/208
Function bindinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/10-bind
@hungheduhttps://github.com/hunghedu
Function binding #19https://github.com/javascript-tutorial/vi.javascript.info/pull/19
Arrow functions revisitedhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/06-advanced-functions/12-arrow-functions
Property flags and descriptorshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/07-object-properties/01-property-descriptors
Property getters and settershttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/07-object-properties/02-property-accessors
Prototypal inheritancehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/01-prototype-inheritance
@hungheduhttps://github.com/hunghedu
Prototypal inheritance #11https://github.com/javascript-tutorial/vi.javascript.info/pull/11
F.prototypehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/02-function-prototype
@hungheduhttps://github.com/hunghedu
F.prototype #12https://github.com/javascript-tutorial/vi.javascript.info/pull/12
Native prototypeshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/03-native-prototypes
@hungheduhttps://github.com/hunghedu
Native prototypes #14https://github.com/javascript-tutorial/vi.javascript.info/pull/14
Prototype methods, objects without protohttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/08-prototypes/04-prototype-methods
@hungheduhttps://github.com/hunghedu
Prototype methods, objects without __proto__ #16https://github.com/javascript-tutorial/vi.javascript.info/pull/16
Class basic syntaxhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/01-class
@hungheduhttps://github.com/hunghedu
Class basic syntax #23https://github.com/javascript-tutorial/vi.javascript.info/pull/23
Class inheritancehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/02-class-inheritance
@hungheduhttps://github.com/hunghedu
Class inheritance #25https://github.com/javascript-tutorial/vi.javascript.info/pull/25
Static properties and methodshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/03-static-properties-methods
@hungheduhttps://github.com/hunghedu
Static properties and methods #27https://github.com/javascript-tutorial/vi.javascript.info/pull/27
Private and protected properties and methodshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/04-private-protected-properties-methods
@hungheduhttps://github.com/hunghedu
Private and protected properties and methods #28https://github.com/javascript-tutorial/vi.javascript.info/pull/28
Extending built-in classeshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/05-extend-natives
@ImVietnamhttps://github.com/ImVietnam
Extending built-in classes #209https://github.com/javascript-tutorial/vi.javascript.info/pull/209
Class checking: "instanceof"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/06-instanceof
@ImVietnamhttps://github.com/ImVietnam
Class checking: "instanceof" #210https://github.com/javascript-tutorial/vi.javascript.info/pull/210
Mixinshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/09-classes/07-mixins
@ImVietnamhttps://github.com/ImVietnam
Mixins #217https://github.com/javascript-tutorial/vi.javascript.info/pull/217
Error handling, "try...catch"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/10-error-handling/1-try-catch
@khachoangpthttps://github.com/khachoangpt
Error handling, "try...catch" #202https://github.com/javascript-tutorial/vi.javascript.info/pull/202
Custom errors, extending Errorhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/10-error-handling/2-custom-errors
@khachoangpthttps://github.com/khachoangpt
Introduction: callbackshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/01-callbacks
@quocthangit247https://github.com/quocthangit247
Introduction: callbacks #76https://github.com/javascript-tutorial/vi.javascript.info/pull/76
Promisehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/02-promise-basics
@felix-lehttps://github.com/felix-le
Promise #221https://github.com/javascript-tutorial/vi.javascript.info/pull/221
Promises chaininghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/03-promise-chaining
Error handling with promiseshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/04-promise-error-handling
Promise APIhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/05-promise-api
@hoangnv170752https://github.com/hoangnv170752
Promisificationhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/06-promisify
Microtaskshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/07-microtask-queue
Async/awaithttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/11-async/08-async-await
Generatorshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/12-generators-iterators/1-generators
Async iteration and generatorshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/12-generators-iterators/2-async-iterators-generators
Modules, introductionhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/13-modules/01-modules-intro
Export and Importhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/13-modules/02-import-export
Dynamic importshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/13-modules/03-modules-dynamic-imports
Proxy and Reflecthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/01-proxy
Eval: run a code stringhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/02-eval
Curryinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/03-currying-partials
Reference Typehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/04-reference-type
BigInthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/05-bigint
@ducdongmghttps://github.com/ducdongmg
BigInt #220https://github.com/javascript-tutorial/vi.javascript.info/pull/220
Unicode, String internalshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/06-unicode
@ImVietnamhttps://github.com/ImVietnam
Unicode, String internals #216https://github.com/javascript-tutorial/vi.javascript.info/pull/216
WeakRef and FinalizationRegistryhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/1-js/99-js-misc/07-weakref-finalizationregistry
Browser environment, specshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/01-browser-environment
@hoangnv170752https://github.com/hoangnv170752
Browser environment, specs #223https://github.com/javascript-tutorial/vi.javascript.info/pull/223
DOM treehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/02-dom-nodes
Walking the DOMhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/03-dom-navigation
Searching: getElement*, querySelector*https://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/04-searching-elements-dom
Node properties: type, tag and contentshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/05-basic-dom-node-properties
Attributes and propertieshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/06-dom-attributes-and-properties
Modifying the documenthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/07-modifying-document
Styles and classeshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/08-styles-and-classes
Element size and scrollinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/09-size-and-scroll
Window sizes and scrollinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/10-size-and-scroll-window
Coordinateshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/1-document/11-coordinates
Introduction to browser eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/01-introduction-browser-events
Bubbling and capturinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/02-bubbling-and-capturing
Event delegationhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/03-event-delegation
Browser default actionshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/04-default-browser-action
Dispatching custom eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/2-events/05-dispatch-events
Mouse eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/1-mouse-events-basics
Moving the mouse: mouseover/out, mouseenter/leavehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/3-mousemove-mouseover-mouseout-mouseenter-mouseleave
Drag'n'Drop with mouse eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/4-mouse-drag-and-drop
Pointer eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/6-pointer-events
Keyboard: keydown and keyuphttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/7-keyboard-events
Scrollinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/3-event-details/8-onscroll
Form properties and methodshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/1-form-elements
Focusing: focus/blurhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/2-focus-blur
Events: change, input, cut, copy, pastehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/3-events-change-input
Forms: event and method submithttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/4-forms-controls/4-forms-submit
Page: DOMContentLoaded, load, beforeunload, unloadhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/5-loading/01-onload-ondomcontentloaded
Scripts: async, deferhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/5-loading/02-script-async-defer
Resource loading: onload and onerrorhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/5-loading/03-onload-onerror
Mutation observerhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/99-ui-misc/01-mutation-observer
Selection and Rangehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/99-ui-misc/02-selection-range
Event loop: microtasks and macrotaskshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/2-ui/99-ui-misc/03-event-loop
Popups and window methodshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/3-frames-and-windows/01-popup-windows
Cross-window communicationhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/3-frames-and-windows/03-cross-window-communication
The clickjacking attackhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/3-frames-and-windows/06-clickjacking
ArrayBuffer, binary arrayshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/01-arraybuffer-binary-arrays
TextDecoder and TextEncoderhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/02-text-decoder
Blobhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/03-blob
File and FileReaderhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/4-binary/04-file
Fetchhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/01-fetch
FormDatahttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/02-formdata
Fetch: Download progresshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/03-fetch-progress
Fetch: Aborthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/04-fetch-abort
Fetch: Cross-Origin Requestshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/05-fetch-crossorigin
Fetch APIhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/06-fetch-api
URL objectshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/07-url
XMLHttpRequesthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/08-xmlhttprequest
Resumable file uploadhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/09-resume-upload
Long pollinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/10-long-polling
WebSockethttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/11-websocket
Server Sent Eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/5-network/12-server-sent-events
Cookies, document.cookiehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/6-data-storage/01-cookie
LocalStorage, sessionStoragehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/6-data-storage/02-localstorage
IndexedDBhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/6-data-storage/03-indexeddb
Bezier curvehttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/7-animation/1-bezier-curve
CSS-animationshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/7-animation/2-css-animations
JavaScript animationshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/7-animation/3-js-animation
From the orbital heighthttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/1-webcomponents-intro
Custom elementshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/2-custom-elements
Shadow DOMhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/3-shadow-dom
Template elementhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/4-template-element
Shadow DOM slots, compositionhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/5-slots-composition
Shadow DOM stylinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/6-shadow-dom-style
Shadow DOM and eventshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/8-web-components/7-shadow-dom-events
Patterns and flagshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/01-regexp-introduction
Character classeshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/02-regexp-character-classes
@gatostudyhttps://github.com/gatostudy
Unicode: flag "u" and class \p{...}https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/03-regexp-unicode
Anchors: string start ^ and end $https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/04-regexp-anchors
Multiline mode of anchors ^ $, flag "m"https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/05-regexp-multiline-mode
Word boundary: \bhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/06-regexp-boundary
Escaping, special charactershttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/07-regexp-escaping
Sets and ranges [...]https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/08-regexp-character-sets-and-ranges
Quantifiers +, *, ? and {n}https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/09-regexp-quantifiers
Greedy and lazy quantifiershttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/10-regexp-greedy-and-lazy
Capturing groupshttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/11-regexp-groups
Backreferences in pattern: \N and \khttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/12-regexp-backreferences
Alternation (OR) |https://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/13-regexp-alternation
Lookahead and lookbehindhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/14-regexp-lookahead-lookbehind
Catastrophic backtrackinghttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/15-regexp-catastrophic-backtracking
Sticky flag "y", searching at positionhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/16-regexp-sticky
Methods of RegExp and Stringhttps://github.com/javascript-tutorial/vi.javascript.info/blob/master/9-regular-expressions/17-regexp-methods
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.