С 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!