Closed
Description
Перед тем, как показывать новый учебник людям, его нужно вычитать.
Даже после хорошего перевода бывают предложения, написанные не совсем по-русски, непонятные объяснения и т.п.
Чтобы это отловить, достаточно прочитать русский текст свежим взглядом.
Можно сделать это локально, установив сервер https://github.com/javascript-tutorial/server.
Если что не так - PR. Я сам помечу статью галочкой после вычитки.
Спасибо!
The JavaScript language
An introduction
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
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 and 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
- Arrow functions revisited
Object properties configuration
Prototypes, inheritance
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
Promises, async/await
- Introduction: callbacks
- Promise
- Promises chaining
- Error handling with promises
- Promise API
- Promisification
- Microtasks
- Async/await
Generators, advanced iteration
Modules
Miscellaneous
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
- Forms: event and method submit
Document and resource loading
- Page: DOMContentLoaded, load, beforeunload, unload
- Scripts: async, defer
- Resource loading: onload and onerror
Miscellaneous
Frames and windows
Binary data, files
Network requests
- Fetch
- FormData
- Fetch: Download progress
- Fetch: Abort
- Fetch: Cross-Origin Requests
- Fetch API
- URL objects
- XMLHttpRequest
- Resumable file upload
- Long polling
- WebSocket
- Server Sent Events
Storing data in the browser
Animation
Web components
- From the orbital height
- Custom elements
- Shadow DOM and events
- 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
Metadata
Metadata
Assignees
Labels
No labels