javascript-tutorial/test.javascript.info

Test Translation Progress

iliakan opened this issue · 0 comments

Maintainer List

@iliakan

For New Translators

Please read this first (click to open)

To translate an article:

  1. Check that no one else has claimed your article in the checklist below.
  2. Comment below with the path to the article that you would like to translate, e.g. 1-js/01-getting-started/1-intro.
    • Please take only one article at a time.
  3. Fork this repo, translate the article in your fork and submit a pull request!
    • The pull request title should also be 1-js/01-getting-started/1-intro, to better track it.

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

Click to open

Please let others know what you do, on community boards and chats, invite them to join. Translations become better if more people see them.

For teams we suggest that an article has 2 reviews to be merged.

Translalions are tracked below, like this:

There's a helper bot to track translations, you can read more about it at https://github.com/javascript-tutorial/translate/edit/master/BOT.md.

If something doesn't work right, please contact @iliakan.

Only maintainers can check/uncheck items below. If you're not, please write in a comment what you take to translate.

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 basic syntax
  • Class inheritance
  • Static properties and methods
  • Private and protected properties and methods
  • Extending built-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 iterators 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*, 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 to 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