Please enable JavaScript.
Coggle requires JavaScript to display documents.
Типы данных JS, Итого, продвинутая концепция, https://developer.mozilla…
Типы данных JS
Строки
-
-
-
-
[] или charAt() - способ получить символ в нужной позиции в строке. Если символ с такой позицией отсутствует, тогда [] вернёт undefined, а charAt — пустую строку:
-
Строки неизменяемы, а точнее символы в них
-
Поиск подстроки: str.indexOf(substr, pos) и str.lastIndexOf(substr, position), str.includes(substr, pos) - проверка, есть ли строка без указания позиции на выходе
Методы str.startsWith и str.endsWith проверяют, соответственно, начинается ли и заканчивается ли строка определённой строкой:
str.slice(start [, end])
Возвращает часть строки от start до (не включая) end. - лучший метод
str.substring(start [, end])
Возвращает часть строки между start и end.
str.substr(start [, length])
Числа
-
Не так часто используются двоичные и восьмеричные числа, но они также поддерживаются 0b для двоичных и 0o для восьмеричных:
Способы записи числа: let billion = 1000000000; или let billion = 1e9; // 1 миллиард, буквально: 1 и 9 нулей, а 0.000001 = 1е-6 (всё равно что разделить на миллион) - экспоненциальная запись
toString(base) - base от 2 до 36, по умолчанию 10
Округление: Math.floor, Math.ceil, Math.round, Math.trunc (удаление дробной части без округления)
отображение десятичных чисел в javascript неточное, но toFixed(n) решает эту проблему. Перевод выданной строки в число --унарный +toFixed(n)
-
isFinite(value) преобразует аргумент в число и возвращает true, если оно является обычным числом, т.е. не NaN/Infinity/-Infinity:
parseInt и parseFloat - берут число из строки - целое и float соответственно. Вернут NaN - в момент прочтения буквы, если не прочли ни одну цифру до этого.
Округление не до целого: toFixed(n) сделает строку, округлённую до n разрядов после запятой, либо можно умножить на число, а затем разделить, чтобы округлить
parseInt(str, radix) - для считывания в разных системах исчисления
объект Math - различные математические функции и константы (max,min,pow и т.д.)
Методы массивов
-
Метод arr.splice(index[, deleteCount, elem1, ..., elemN])
Преобразование массива
arr.map - вызывает функцию для каждого элемента массива и возвращает массив результатов выполнения этой функции.
-
-
-
let value = arr.reduce(function(previousValue, item, index, array) { } - вычислить единое значение на основе всего массива (например, сумму)
arr.forEach(function(item, index, array) { }
arr.indexOf, arr.lastIndexOf и arr.includes - поиск в массиве строгим сравнением (===)
Опционально удаляет элементы с определённой позиции, опционально заменяет их новыми
-
arr.slice([start], [end]) Он возвращает новый массив, в который копирует элементы, начиная с индекса start и до end (не включая end). Оба индекса start и end могут быть отрицательными.
arr.concat(arg1, arg2...)
let result = arr.find(function(item, index, array) { } - ищет один элемент
let results = arr.filter(function(item, index, array) { } - ищет много элементов
-
Массивы
стек поддерживает push (добавить элемент в конец) и pop (удалить элемент с конца). Пример - колода карт.
в JS массив - это двусторонняя очередь: push, shift, unshift, pop доступны. Эти методы работают через точку: array.push и т.д.
Очередь - тип данных (массив), который поддерживает push и shift (добавить элемент в конец, удалить элемент вначале со сдвигом)
Методы push/pop выполняются быстро, а методы shift/unshift – медленно.
length, alert - длина и вывод массива целиком
-
let arr = [];
Массив - это объект (например, он копируется по ссылке)
-
-
Массивы имеют только преобразование toString, но не valueOf или Symbol.toPrimitive
Сравнение строк
Буквы, имеющие диакритические знаки, идут «не по порядку»:
str.codePointAt(pos) - Возвращает код для символа, находящегося на позиции pos:
-
-
String.fromCodePoint и str.codePointAt — два редких метода, правильно работающие с суррогатными парами (длина 2 - редкие иероглифы, мат.символы, смайлики)
-
Методы у примитивов
При обращении к примитивам создаётся специальный «объект-обёртка», который предоставляет нужную функциональность, а после удаляется. Сами по себе примитивы не могли бы применять методы без обёртки, но она есть.
Каждый примитив имеет свой собственный «объект-обёртку», которые называются: String, Number, Boolean и Symbol. Таким образом, они имеют разный набор методов.
null и undefined не имеют методов, не имеют обёртки
Итого
Есть три типа кавычек. Строки, использующие обратные кавычки, могут занимать более одной строки в коде и включать выражения ${…}.
-
Есть специальные символы, такие как \n, и можно добавить символ по его юникодному коду, используя \u….
-
-
Для того, чтобы перевести строку в нижний или верхний регистр, используйте toLowerCase/toUpperCase.
Для поиска подстроки используйте indexOf или includes/startsWith/endsWith, когда надо только проверить, есть ли вхождение.
Чтобы сравнить строки с учётом правил языка, используйте localeCompare.
-
-
-
-
-
-