Test Translation Progress
iliakan opened this issue · 0 comments
Maintainer List
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 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.
- 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.
- The pull request title should also be
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