Сократите свой код с помощью этих лучших советов
Написание более чистого кода JavaScript часто требует сокращения длины вашего кода, что может иметь несколько преимуществ. Во-первых, более короткий код обычно легче читать и понимать, что делает его более удобным для сопровождения и менее подверженным ошибкам. Это особенно важно в командной среде, где несколько человек могут работать над одной кодовой базой. Во-вторых, более короткий код может быть более эффективным как с точки зрения объема занимаемого им пространства, так и с точки зрения времени, необходимого для его выполнения. Наконец, более короткий код может быть более гибким и адаптируемым, поскольку он менее подвержен ненужным деталям и его легче модифицировать в соответствии с меняющимися требованиями. Стремясь писать более короткий код, вы можете улучшить качество и удобство сопровождения своей кодовой базы. Давайте погрузимся!
Стрелочные функции
Стрелочные функции — это более краткий синтаксис для написания функций в JavaScript. Это анонимные функции, которые часто используются вместо обычных функций для написания более короткого и лаконичного кода. Стрелочные функции можно использовать во многих местах, как и обычные функции, в том числе в качестве методов в объектах, в обратных вызовах и даже в качестве генераторов. Некоторые из ключевых особенностей стрелочных функций включают в себя тот факт, что они не имеют собственного значения this, их нельзя использовать в качестве конструкторов и у них нет свойства прототипа. Кроме того, стрелочные функции могут быть написаны в «лексическом» стиле, что означает, что они наследуют значение this окружающего контекста. Это может сделать их особенно полезными для написания функций обратного вызова. Например, вы можете использовать стрелочную функцию следующим образом:
const numbers = [1, 2, 3, 4, 5]; // Previously we had to write functions like this const squareNumbers = numbers.map(function(x) { return x * x; }); // we begin by changing the function keyword to an // arrow by removing the function keyword and adding // the "fat arrow" syntax with equals and greater than const squareNumbers = numbers.map((x) => { return x * x; }); // we can remove the parentheses around x if there is only one parameter const squareNumbers = numbers.map(x => { return x * x; }); // we can remove the curly braces and the return keyword if the function // body is a single expression const squareNumbers = numbers.map(x => x * x); // We can also access any item in the array by adding the // index at the end of the statement const squareNumbers = numbers.map(x => x * x)[0]; // All of these functions are equivalent and will return the same result console.log(squareNumbers); // [1, 4, 9, 16, 25]
В целом, стрелочные функции — это мощный и полезный инструмент для написания лаконичного и элегантного кода на JavaScript.
Разрушение
В JavaScript деструктуризация — это функция, позволяющая легко извлекать значения из массивов или объектов и присваивать их переменным. Это удобный способ создания переменных из массива или свойств объекта, который может помочь вам написать более лаконичный и читаемый код. Например, допустим, у вас есть массив с двумя элементами, и вы хотите создать две переменные из этих элементов. Вы можете сделать это, используя деструктурирование следующим образом:
const numbers = [1, 2]; const [first, second] = numbers; console.log(first); // Output: 1 console.log(second); // Output: 2
Это можно сделать и с предметами. Например, допустим, у вас есть объект с двумя свойствами, и вы хотите создать две переменные из этих свойств. Вы можете сделать это, используя деструктурирование следующим образом:
const person = { name: "John", age: 30 }; const { name, age } = person; console.log(name); // Output: "John" console.log(age); // Output: 30
Деструктуризация — это мощная и удобная функция JavaScript, которая может сделать ваш код более читабельным и простым в написании.
Сокращение значения свойства
Сокращение значения свойства — это функция JavaScript, которая позволяет создавать объект из набора переменных с тем же именем, что и свойства объекта. Это удобный способ написать более лаконичный и читаемый код, если вы хотите создать объект из набора переменных.
Например, допустим, у вас есть две переменные, name
и age
, и вы хотите создать объект из этих переменных. Вы можете сделать это, используя сокращение свойства-значения, например:
const name = "John"; const age = 30; const person = { name, age }; console.log(person); // Output: { name: "John", age: 30 }
Как видите, это гораздо более лаконично и читабельно, чем альтернатива, которая заключалась бы в записи объекта следующим образом:
const person = { name: name, age: age };
Сокращение значения свойства может быть очень полезным при работе с объектами и может помочь вам написать более краткий и читаемый код. Эта функция особенно полезна при работе с большими и сложными структурами данных.
Строки шаблона
В JavaScript шаблонные строки — это способ создания строковых литералов, которые могут охватывать несколько строк текста и включать встроенные выражения. Эти строки разделяются обратными кавычками (`), а не одинарными или двойными кавычками, которые обычно используются в JavaScript.
Вот пример строки шаблона:
const name = "John Doe"; const message = `Hello, ${name}!`;
Как видите, строка шаблона включает заполнитель ${name}
, который будет заменен значением переменной name
при оценке строки. Это позволяет создавать динамические строки, которые могут включать значения переменных и выражений.
Строки шаблона также поддерживают интерполяцию строк, что позволяет включать результат выражения непосредственно в строку. Например:
const x = 10; const y = 20; const message = `The sum of x and y is ${x + y}.`;
В этом случае заполнитель ${x + y}
будет заменен результатом выражения x + y
, равным 30. Это может быть удобным способом включения сложных выражений в ваши строки без необходимости объединения нескольких строк вместе.
Как видите, эта строка включает в себя разрывы строк и несколько строк текста, но все еще содержится в одной строке. Когда строка вычисляется, разрывы строк и пробелы сохраняются, что позволяет создавать более читаемые и удобные для форматирования строки. Это пример многострочного сообщения:
const message = `This is a multiline template string. It can span multiple lines and include line breaks.`;
В целом строки шаблона обеспечивают более читаемый и удобный способ создания строк в JavaScript, особенно при работе со сложными выражениями или многострочными строками.
Оператор спреда
Оператор распространения в JavaScript позволяет вам разложить массив или объект на его отдельные элементы. Например, если у вас есть массив с именем myArray
и вы хотите добавить его элементы в другой массив с именем newArray
, вы можете использовать оператор расширения, чтобы сделать это следующим образом:
const myArray = [1, 2, 3]; const newArray = [4, 5, 6]; newArray = [...myArray, ...newArray];
Это добавит элементы myArray
к началу newArray
, в результате чего newArray
будет содержать элементы [1, 2, 3, 4, 5, 6]
. Оператор распространения также может использоваться для расширения объектов аналогичным образом.
Вот пример использования оператора распространения для объединения двух объектов:
const obj1 = { a: 1, b: 2 }; const obj2 = { c: 3, d: 4 }; const mergedObj = { ...obj1, ...obj2 };
Это приведет к тому, что mergedObj
будет содержать ключи и значения как obj1
, так и obj2
, поэтому он будет иметь свойства a
, b
, c
и d
.
Вот некоторые другие вещи, которые вы можете сделать с оператором распространения:
Вы можете использовать его для создания поверхностной копии массива или объекта. Это означает, что вы можете создать новый массив или объект, содержащий те же элементы или свойства, что и исходный, но изменения в новом массиве или объекте не повлияют на исходный. Например:
const myArray = [1, 2, 3]; const copyOfArray = [...myArray]; // changes to copyOfArray won't affect myArray copyOfArray.push(4);
Вы можете использовать оператор распространения для передачи элементов массива в качестве отдельных аргументов функции. Часто это удобнее, чем передавать весь массив в качестве одного аргумента. Например:
const myArray = [1, 2, 3]; // instead of calling the function like this: myFunction(myArray); // you can use the spread operator to call it like this: myFunction(...myArray);
Вы можете использовать оператор расширения для преобразования строки в массив символов. Например:
const myString = 'hello'; const myArray = [...myString]; // myArray will be ['h', 'e', 'l', 'l', 'o']
Это всего лишь несколько примеров того, что вы можете делать с оператором спреда. Это очень универсальный инструмент, который может сделать ваш код более кратким и читабельным.
Мы обсудили несколько возможностей современного JavaScript, которые могут сделать ваш код более кратким и читабельным. Эти функции включают функции стрелок, которые обеспечивают компактный синтаксис для определения функций; деструктуризация, позволяющая извлекать значения из массивов или объектов и присваивать их переменным; сокращенное обозначение значения свойства, которое позволяет создавать объекты, указывая их свойства и значения без повторения имен свойств; шаблонные строки, упрощающие создание строковых литералов, включающих динамические выражения; и оператор расширения, который позволяет вам разложить массив или объект на его отдельные элементы. Удачного кодирования!
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.