С 2015 года JavaScript значительно улучшился.
Пользоваться им сейчас намного приятнее, чем когда-либо.
В этой статье мы рассмотрим основные функции JavaScript.
Новый Number Methods
Number.parseInt
можно использовать с новыми целочисленными литералами.
Мы можем передать основание системы счисления или основание для обработки числа, как во втором аргументе.
Например, мы можем написать:
Number.parseInt('0o8', 8)
и получите 0.
Number.parseInt
также работает с шестнадцатеричными числами.
Например, мы можем написать:
Number.parseInt('0xF', 16)
и получите 15.
Использование 0 вместо 1 с возведением в степень и логарифмом
Объект Math
содержит новые методы, позволяющие вычислять натуральные логарифмы.
Мы можем использовать Math.expm1(x)
метод вычисления Math.exp(x) — 1
.
Итак, мы можем написать:
Math.expm1(10)
и получаем 22025.465794806718.
Существует также метод, обратный Math.expm1
, то есть Math.log1p(x)
.
Это то же самое, что и Math.log(1 + x)
.
Например, если у нас есть:
Math.log1p(0)
Тогда получаем 0.
Логарифмы с основанием 2 и 10
У нас есть Math.log2(x)
, который вычисляет логарифм с основанием 2.
Например, мы можем написать:
Math.log2(8)
который возвращает 3.
Метод Math.log10(x)
возвращает журнал x
с основанием 10.
Например, если мы напишем:
Math.log10(1000)
тогда получаем 3.
Строковые особенности
ES6 имеет несколько удобных строковых функций.
Он поставляется с шаблонными литералами, которые позволяют нам вставлять выражения в строку вместо объединения строк с другими выражениями.
Например, мы можем написать:
const firstName = 'james'; const lastName = 'smith'; console.log(`Hello ${firstName} ${lastName}!`);
Тогда получаем 'Hello james smith!’
.
Они разделяются обратными кавычками вместо одинарных или двойных кавычек.
Они также могут занимать несколько строк, в отличие от обычных строковых литералов.
Например, мы можем написать:
const multiLine = ` <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="theme-color" content="#000000"> <link rel="manifest" href="%PUBLIC_URL%/manifest.json"> <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> <title>React App</title> </head> <body> <div id="root"></div> </body> </html>`;
И строка HTML будет охватывать несколько строк.
Кодовые точки Escape
ES6 позволяет нам избегать любых кодовых точек, даже если они превышают 16 бит.
Например, мы можем написать:
console.log('\u{1F680}');
чтобы избежать 1F680
, что превышает 16-битный предел.
Итерация по строкам
String - это повторяемые объекты.
Следовательно, мы можем просмотреть их с помощью цикла for-of.
Например, мы можем написать:
for (const ch of 'abc123') { console.log(ch); }
Затем мы регистрируем персонажей по мере их прохождения.
Цикл for-of разбивает строку по границам кодовой точки, поэтому возвращаемая им строка может возвращать 1 или 2 символа.
Например, если у нас есть:
for (const ch of 'x\uD83D\uDC69') { console.log(ch.length); }
Тогда ch
будет 1 для первого символа и 2 для 2-го.
Мы можем использовать оператор распространения, чтобы разделить строку по кодовым точкам в массив и использовать свойство length
для получения длины.
Например, мы можем написать:
[...'x\uD83D\uDC69'].length
и получаем 2.
Заключение
ES6 представил множество числовых и строковых функций, которые мы, возможно, упустили.
JavaScript на простом английском языке
Понравилась эта статья? Если да, то получите больше похожего контента, подписавшись на наш канал на YouTube в Decoded!