JS Basics
Falsy ⇒ '', 0, null, undefined, NaN, fals |
var - hoisting, let, const - blocks |
Temporal Dead Zone начинается в начале области видимости переменной и заканчивается ее объявлением |
Primitives: Undefined
, Boolean, String, Symbol, BigInt, Null |
Non Primotives:
Object, Array, Function, RegExp, Date, Map, Set,
Error, Promise, enum
Strings
text.length
text.slice(start, end)
=> new string [start, end)
text.substring(start, end)
new string [start, end)
text.substr(start, length)
new string [start... length
number of characters.
text.replace(oldValue, newValue) text.replaceAll(oldValue, newValue)
text.toUpperCase() text.toLowerCase()
concat(string1, string2, ..., stringN)
text.trim() trimStart() trimEnd()
padStart(targetLength, padString)
: adds padding to the beginning
padEnd(targetLength, padString)
:adds padding to the end
charAt(index) charCodeAt(index)
split(separator, limit)
|
Timers
Методы setInterval(func, delay, ...args) и setTimeout(func, delay, ...args) позволяют выполнять func регулярно или только один раз после задержки delay, заданной в мс. |
ля отмены выполнения необходимо вызвать clearInterval/clearTimeout со значением, которое возвращают методы setInterval/setTimeout. |
Планирование с нулевой задержкой setTimeout(func,0) или, что то же самое, setTimeout(func) используется для вызовов, которые должны быть исполнены как можно скорее, после завершения исполнения текущего кода. |
Браузер ограничивает 4-мя мс минимальную задержку между пятью и более вложенными вызовами setTimeout, а также для setInterval, начиная с 5-го вызова. |
let timerId = setTimeout(...); clearTimeout(timerId);
|
|
|
Objects
Creating Objects
Literal/ Contructor Function/ Class
{x: "y"} (new) function(){} new Object() same as {} class Banana {} Object.create(
proto[, propertiesObject])
delete book.usersReading
Обход объекта
for (let key in myObject) Object.entries() =>
[key, value]
Object.keys()
⇒ [key] Object.values()
=>[values]
Методы
someObj.hasOwnProperty('key1')
obj.__proto__ === person
⇒ Object.getPrototypeOf(object1) Object.setPrototypeOf(object1)
The valueOf()
method of [Object]
instances converts the this
value [to an object] |
Object.create()
function MyClass() {
SuperClass.call(this);
OtherSuperClass.call(this);
}
MyClass.prototype = Object.create(SuperClass.prototype);
|
позволяет создавать новый объект и устанавливать прототип этого объекта в объект, переданный в качестве параметра
Events
Event Phases - это три фазы жизненного цикла события: захват (capturing), цель (target) и всплытие (bubbling). |
Разница между этими фазами заключается в порядке вызова обработчиков событий. В фазе захвата обработчики вызываются сверху вниз, а в фазе всплытия - снизу вверх. В фазе цели вызывается только один обработчик, связанный с элементом цели. |
Mouse Events: - click - dblclick - mousedown - mouseup - mousemove - mouseover - mouseout - contextmenu |
Keyboard Events: - keydown - keyup - keypress |
Form: formdata reset submit; |
Input:change, input, cut, copy, paste |
|
|
Array NOT Mutating
concat(array1, array2, ..., arrayN): new Array
array.filter(callback(el, ind, array), thisArg): new Array
array.map(callback(elt, ind, array), thisArg): new Array
array.slice(start, end): new Array
array.reduce(callback(acc, cur, i, array), initi): any
reduceRight(callback(acc, cur, i, array), init): any
|
Array Mutations
push(element1, element2, ..., elementN)
pop()
shift()
unshift(element1, element2, ..., elementN)
splice(start, deleteCount, item1, item2, ..., itemN)
sort(compareFunction)
reverse()
fill(value, start, end)
|
Iterate Array
for (let i = 0; i < scores.length; i++) {}
for (i in scores) {}
for (score of scores) {}
scores.forEach((score) => {});
every(function (element, index, array) { / … / }, thisArg)
array.reduce( function(total, el, i, arr),initialValue )
every(function (element, index, array) { / … / }, thisArg)
|
Copy Array
const arrNew = [...arrOld];
const newArray = [...oldArray];
{ const json = JSON.stringify(oldArray);
const newArray = JSON.parse(json); }
const arrNew = arrOld.slice();
const arrNew = Array.from(arrOld);
const arrNew = [].concat(arrOld);
|
|
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment