CoreJS Interview#1 Basics - Data types - Number methods - String methods - String templates - ternary operator - switch case - examples, where it can be useful
|
Falsy ⇒ '', 0, null, undefined, NaN, fals
|
|
var - hoisting, let, const - blocks
|
|
Temporal Dead Zone начинается в начале области видимости переменной и заканчивается ее объявлением
|
|
Primitives:
Undefined, Boolean, String, Symbol, BigInt, Null |
text.lengthtext.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 beginningpadEnd(targetLength, padString):adds padding to the end charAt(index) charCodeAt(index)split(separator, limit)|
Методы 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); |
{x: "y"} (new) function(){} new Object() same as {} class Banana {} Object.create(proto[, propertiesObject])delete book.usersReadingfor (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)valueOf() method of [Object] instances converts the this value [to an object]function MyClass() {
SuperClass.call(this);
OtherSuperClass.call(this);
}
MyClass.prototype = Object.create(SuperClass.prototype);
|
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
|
`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`
push(element1, element2, ..., elementN)pop()shift()unshift(element1, element2, ..., elementN)splice(start, deleteCount, item1, item2, ..., itemN)sort(compareFunction)reverse()fill(value, start, end)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)
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);
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.