Конспект по JS
yulyaСамое большое число
Number.MAX_SAFE_INTEGER
JS - это язык с динамической типизацией
Типы данных
NaN: 0/0, infinity - infinity, '23 dd' +2
Infinity и - infinity
undefined - для неопределенных чисел и строк
null - для объектов
Преобразования
parseInt(str, radix), parseFloat(str)
parseInt('38 попугаев', 10) // 38
Number('38 попугаев') //NaN
Массивы
проверка
Array.isArray(arr)
- pop() - удаляет с конца, возвращает удаленный элемент
- push() - добавляет в конец, возвращает длину
- unshift() - добавляет в начало, возвращает длину
- shift() - удаляет с начала, возвращает удаленный элемент
Функции обратного вызова
например в forEach(function(item, indx){})
Можно вызывать цепочки функции для обработки массивов:
arr.filter(filterData)
.map(mapData)
.join(',')
все будет работать сверху вниз
Объекты
для преобразования объекта к строке:
String(obj) //рекомендованно
''+obj
Внутри объекта можно создать функцию или метод объекта, создать свойство у объекта: Object.defineProperty, Object.defineProperties
Заморозка объекта Object.freeze(obj)
Обработка исключений
внутри функции
if () {
throw new TypeError('текст ошибки');
}
обработка функции
try{
что-то происходит
} catch (e) {
if (e instanceof TypeError) {
что-то при ошибке
}
console.error(e);
}
e.name, e.message, e.stack
Дата
new Date();
UnixTimestamp // 1475323268000
(new Date(2016, 9, 1, 17, 1, 8)).valueof() // unixtimestamp
Функции
Если аргумент не передали > он равен undefined
Именованные аргументы
в качестве аргумента передается объект, а в функции вызывается имя.значение
Arguments
массивоподобные аргументы
args = [].slice.call(arguments) - приводим к массиву
call() - объедиение свойств объекта в массив
Function declaration, function expression и
named function expression:
var factorial = function inner(n) {
return n===1 ? 1: n*inner(n-1);
}
Затенение - область видимости переменных с одинаковым именем
Всплытие - обращение к переменной до ее объявления, все функции и объявления var перемещаются вверх в пределах видимости
Замыкание - возвращаем новую функцию
IIFE - модуль, самовызывающие функции
(function () {}())