Skip to content

Latest commit

 

History

History
266 lines (199 loc) · 5.85 KB

PROGRESS.md

File metadata and controls

266 lines (199 loc) · 5.85 KB

Maintainer List

@iliakan

For New Translators

To translate a page:

  1. Check that no one else has claimed your page in the checklist and comments below.
  2. Comment below with the name of the page you would like to translate. Please take only one page at a time.
  3. Clone this repo, translate your page, and submit a pull request!

Before contributing, read the glossary and style guide (once they exist) to understand how to translate various technical and React-specific terms.

Please be prompt with your translations! If you find find that you can't commit any more, let the maintainers know so they can assign the page to someone else.

For Maintainers

When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:

  • Home Page (@lex111) #1

When PRs are merged, make sure to mark that page as completed!

The JavaScript language

An introduction

  • An Introduction to JavaScript
  • Code editors
  • Developer console

JavaScript Fundamentals

  • Hello, world!
  • Code structure
  • The modern mode, "use strict"
  • Variables
  • Data types
  • Type Conversions
  • Operators
  • Comparisons
  • Interaction: alert, prompt, confirm
  • Conditional operators: if, '?'
  • Logical operators
  • Loops: while and for
  • The "switch" statement
  • Functions
  • Function expressions and arrows
  • JavaScript specials

Code quality

  • Debugging in Chrome
  • Coding Style
  • Comments
  • Ninja code
  • Automated testing with mocha
  • Polyfills

Objects: the basics

  • Objects
  • Garbage collection
  • Symbol type
  • Object methods, "this"
  • Object to primitive conversion
  • Constructor, operator "new"

Data types

  • Methods of primitives
  • Numbers
  • Strings
  • Arrays
  • Array methods
  • Iterables
  • Map, Set, WeakMap and WeakSet
  • Object.keys, values, entries
  • Destructuring assignment
  • Date and time
  • JSON methods, toJSON

Advanced working with functions

  • Recursion and stack
  • Rest parameters and spread operator
  • Closure
  • The old "var"
  • Global object
  • Function object, NFE
  • The "new Function" syntax
  • Scheduling: setTimeout and setInterval
  • Decorators and forwarding, call/apply
  • Function binding
  • Currying and partials
  • Arrow functions revisited

Object properties configuration

  • Property flags and descriptors
  • Property getters and setters

Prototypes, inheritance

  • Prototypal inheritance
  • F.prototype
  • Native prototypes
  • Prototype methods, objects without proto
  • Getting all properties

Classes

  • Class patterns
  • Classes
  • Class inheritance
  • Static properties and methods
  • Private and protected properties and methods
  • Extending build-in classes
  • Class checking: "instanceof"
  • Mixins

Error handling

  • Error handling, "try..catch"
  • Custom errors, extending Error

Promises, async/await

  • Introduction: callbacks
  • Promise
  • Promises chaining
  • Error handling with promises
  • Promise API
  • Promisification
  • Microtasks and event loop
  • Async/await

Generators, advanced iteration

  • Generators
  • Async iteration and generators

Modules

  • Modules, introduction
  • Export and Import
  • Dynamic imports

Browser: Document, Events, Interfaces

Document

  • Browser environment, specs
  • DOM tree
  • Walking the DOM
  • Searching: getElement* and querySelector*
  • Node properties: type, tag and contents
  • Attributes and properties
  • Modifying the document
  • Styles and classes
  • Element size and scrolling
  • Window sizes and scrolling
  • Coordinates

Introduction into Events

  • Introduction to browser events
  • Bubbling and capturing
  • Event delegation
  • Browser default actions
  • Dispatching custom events

UI Events

  • Mouse events basics
  • Moving: mouseover/out, mouseenter/leave
  • Drag'n'Drop with mouse events
  • Keyboard: keydown and keyup
  • Scrolling

Forms, controls

  • Form properties and methods
  • Focusing: focus/blur
  • Events: change, input, cut, copy, paste
  • Form submission: event and method submit

Document and resource loading

  • Page: DOMContentLoaded, load, beforeunload, unload
  • Scripts: async, defer
  • Resource loading: onload and onerror

Frames and windows

  • Popups and window methods
  • Cross-window communication
  • The clickjacking attack

Binary data, files

  • ArrayBuffer, binary arrays
  • TextDecoder and TextEncoder
  • Blob
  • File and FileReader

Network requests

  • Fetch: Basics
  • Fetch: Download progress
  • Fetch: Abort
  • Fetch: Cross-Origin Requests
  • Fetch API
  • URL objects
  • XMLHttpRequest
  • WebSocket

Storing data in the browser

  • Cookies, document.cookie
  • LocalStorage, sessionStorage
  • IndexedDB

Animation

  • Bezier curve
  • CSS-animations
  • JavaScript animations

Web components

  • From the orbital height
  • Custom elements
  • Shadow DOM
  • Template element
  • Shadow DOM slots, composition
  • Shadow DOM styling
  • Shadow DOM and events

Regular expressions

  • Patterns and flags
  • Methods of RegExp and String
  • Character classes
  • Escaping, special characters
  • Sets and ranges [...]
  • Quantifiers +, *, ? and {n}
  • Greedy and lazy quantifiers
  • Capturing groups
  • Backreferences in pattern: \n and \k
  • Alternation (OR) |
  • String start ^ and finish $
  • Multiline mode, flag "m"
  • Lookahead and lookbehind
  • Infinite backtracking problem
  • Unicode: flag "u"
  • Unicode character properties \p
  • Sticky flag "y", searching at position

Miscellaneous

  • Mutation observer