Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс JavaScript
/

Упрощенный синтаксис функций

JavaScript: Упрощенный синтаксис функций

По сравнению с некоторыми (в первую очередь функциональными) языками, определение функции в JavaScript выглядит довольно громоздко:

const square = (x) => {
  return x ** 2;
};

Здесь используется много дополнительных символов и слово return. С версии es6, в языке появился альтернативный, сокращенный синтаксис, который, в некоторых ситуациях, значительно упрощает восприятие и сокращает количество кода.

// Требуется немного времени на привыкание к этой форме
// но потом вы не сможете без неё жить
const double = (x) => x ** 2;

Отличия от полного определения два: пропали фигурные скобки и инструкция return. Сокращенная запись функции делает возврат автоматически. Подразумевается, что внутри такой функции ровно одно выражение, которое вычисляется, и её результат сразу возвращается наружу.

Подчеркнём, что отличия исключительно синтаксические, с точки зрения использования различий нет. Пример с двумя аргументами:

Полная версия

const sum = (a, b) => {
  return a + b;
};

Сокращенная версия

const sum = (a, b) => a + b;

Обратите внимание на отсутствие фигурных скобок. Разработчики, которые не привыкли использовать такой синтаксис, иногда пишут подобный код const sum = (a, b) => { a + b };, а потом долго не могут понять, почему он не работает. Ответ очень простой: если стоят фигурные скобки, то это не сокращенная форма, а значит, чтобы функция вернула значение, придётся поставить return.

Задание

Реализуйте функцию capitalize(), которая принимает непустую строку и приводит первую букву первого слова к верхнему регистру:

const name = 'arya';
console.log(capitalize(name)); // => Arya

Чтобы получить подстроку (или символ) из строки, используйте метод slice():

'welcome'.slice(2, 5); // lco

Для приведения строки к верхнему регистру используйте метод toUpperCase()

'welcome'.toUpperCase(); // WELCOME
Коммерческий опыт и Трудоустройство

Полезное

  • Javascript ES6

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
/
Программирование
/
Курс JavaScript
/

Упрощенный синтаксис функций

JavaScript: Упрощенный синтаксис функций

По сравнению с некоторыми (в первую очередь функциональными) языками, определение функции в JavaScript выглядит довольно громоздко:

const square = (x) => {
  return x ** 2;
};

Здесь используется много дополнительных символов и слово return. С версии es6, в языке появился альтернативный, сокращенный синтаксис, который, в некоторых ситуациях, значительно упрощает восприятие и сокращает количество кода.

// Требуется немного времени на привыкание к этой форме
// но потом вы не сможете без неё жить
const double = (x) => x ** 2;

Отличия от полного определения два: пропали фигурные скобки и инструкция return. Сокращенная запись функции делает возврат автоматически. Подразумевается, что внутри такой функции ровно одно выражение, которое вычисляется, и её результат сразу возвращается наружу.

Подчеркнём, что отличия исключительно синтаксические, с точки зрения использования различий нет. Пример с двумя аргументами:

Полная версия

const sum = (a, b) => {
  return a + b;
};

Сокращенная версия

const sum = (a, b) => a + b;

Обратите внимание на отсутствие фигурных скобок. Разработчики, которые не привыкли использовать такой синтаксис, иногда пишут подобный код const sum = (a, b) => { a + b };, а потом долго не могут понять, почему он не работает. Ответ очень простой: если стоят фигурные скобки, то это не сокращенная форма, а значит, чтобы функция вернула значение, придётся поставить return.

Задание

Реализуйте функцию capitalize(), которая принимает непустую строку и приводит первую букву первого слова к верхнему регистру:

const name = 'arya';
console.log(capitalize(name)); // => Arya

Чтобы получить подстроку (или символ) из строки, используйте метод slice():

'welcome'.slice(2, 5); // lco

Для приведения строки к верхнему регистру используйте метод toUpperCase()

'welcome'.toUpperCase(); // WELCOME
Коммерческий опыт и Трудоустройство

Полезное

  • Javascript ES6

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

// @ts-check

import { expect, test } from 'vitest';
import f from './index.js';

test('define functions short syntax', () => {
  const expected1 = 'Daenerys';
  const actual1 = f('daenerys');
  expect(f(actual1)).toEqual(expected1);

  expect(f('hexlet')).toEqual('Hexlet');
});
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →