Skip to content

Latest commit

 

History

History
46 lines (26 loc) · 2.19 KB

JS madness.markdown

File metadata and controls

46 lines (26 loc) · 2.19 KB

Bind | Call | Apply

Bind

Метод bind может быть вызван на любой js функции. bind (создает и возвращает новую функцию) позволяет нам указать js-пту [на что должно указывать ключевое слово this] (https://youtu.be/Pv9flm-80vM?t=980). Не забывай bind возвращает новую функцию и привязаным контекстом, поэтому её нужно вызывать. Поэтому если требуется сразу испольнить функцию используется метод call вместо bind. Других отличий у них нет.

Call

Работает так же как и bind. Принципиальное различие в том, что call вызывается сразу в отличии от bind.

Apply

Работает так же как и bind. Принципиальное различие в том, что как и call вызывается сразу. Отличается от call тем, что в аргументах передается массив, когда как в call передается список аргументов через запятую.

Falsy values

image

Type checking

Checking if argument is a string

function A(x) {
  return (typeof x == 'string') || (x instanceof String)
}

Checking if argument is a number

image

Lexical scope

Lexical scope defines how variable names are resolved in nested functions. Nested (child) funtions have access to variable defined in there parents and global scope.

Object methods

Сравнение через Object.is

image

Array methods

image