- JS Core
- OOP
- Design Patterns
- Architecture principles
- Functional programming
- Client-Server Communication
- Testing in JS
Abstract syntax tree.
Comparison operator (x == y, where x and y are values, produces true or false).
Read more about Abstract Equality
Who you are. (login + password)
What you are allowed to do. (permissions)
The function that should be called when relative event executes.
Closure is when a function is able to remember and access its lexical scope
even when that function is executing outside its lexical scope.
Coercion - it's implicit converting a value from one type to another. https://github.com/dorey/JavaScript-Equality-Table
General term for "type checks" that make assumptions about a value's "type" based on its shape (what properties are present). "If it looks like a duck, and quacks like a duck, it must be a duck".
Universal abstraction for working with events via subscription (addListener, on, once) and emit
The mechanism that performs moving functions from the event queue to stack when stack becomes empty.
One of the part js execution enviroment, that contain queue of event,
that are ready to execution. These event were moved to queue from WebApis (for browsers),
and are waiting to be moved to stack
by event loop
It's a special kind of function that can start and stop one or more times, and doesn't necessarily ever have to finish.
Moving all declarations to their respective scopes.
var a = 1 / 0; // Infinity
var b = -1 / 0; // -Infinity
var a = Number.MAX_VALUE; // 1.7976931348623157e+308
a + a; // Infinity
a + Math.pow( 2, 970 ); // Infinity
a + Math.pow( 2, 969 ); // 1.7976931348623157e+308
An object that can be iterable inside a loop, like array
.
Json-safe values consist of values that can be represented as JSON.
Not Json-safe: undefineds
, functions
, symbols
, and objects with circular references.
Mocks or Fakes are faking certain modules or behaviors to test different parts of a processes.
JavaScript's numbers is based on the "IEEE 754" standard, often called "floating-point." JavaScript specifically uses the "double precision" format (aka "64-bit binary").
The maximum integer that can "safely" be represented is 2^53 - 1
, which is 9007199254740991
Allows shadow cloning props from one object into another.
Allows set object as prototype
of another object.
Objects-linked-to-other-objects is a code style which creates and relates objects directly without the abstraction of classes. OLOO quite naturally implements [[Prototype]]-based behavior delegation.
It's a special JavaScript object that resolves async code
by execute
depending on event code after event triggering. Also it allows handle errors and combines async code
by some conditions, like waiting on all event, etc.
Wait the moment when each promise will be ready.
Wait the moment when first promise will be ready or will be rejected.
Representational State Transfer is a style of software architecture. As described in a dissertation by Roy Fielding, REST is an "architectural style" that basically exploits the existing technology and protocols of the Web
To refer to web services implementing such an architecture.
- The Single Responsibility Principle
- The Open Closed Principle
- The Liskov Substitution Principle
- The Interface Segregation Principle
- The Dependency Inversion Principle
Spies provide us with information about functions:
- How many times were they called?
- In what cases?
- By whom?
Stubbing replaces selected functions with selected functions to ensure an expected behavior on selected modules.
Tail Call Optimization.
Operator inspects the type of the given value.
JavaScript defines seven built-in types:
number
string
boolean
null
undefined
object
symbol
ArrayBuffer
, DataView
, Int8Array
, Uint8Array
, Uint8ClampedArray
, Int16Array
, Uint16Array
, Int32Array
, Uint32Array
, Float32Array
, Float64Array
.
Uniform Resource Identifier. URIs are a standard for identifying documents using a short string of numbers, letters, and symbols. URLs
, URNs
, and URCs
are all types of URI.
Uniform Resource Locator. URL is a reference to a web resource that specifies its location and a mechanism for retrieving it.
Example: https://mysite.com/route?foo=bar#anchor
.
URLs always start with a protocol(https
) and usually contain information such as the network hostname (mysite.com
) and often a document path (route
). URLs may have query parameters(foo
) and fragment identifiers(anchor
).