Именование

Стиль именования функций в JavaScript такой же, как и стиль именования переменных: lowerCamelCase. Но при выборе самих слов есть важное отличие.

Функция — действие, вызов функции всегда подобен указанию «сходи», «возьми», «напечатай», «положи» и так далее. Вспомните, какие функции были в предыдущих уроках:

  • showDate («показать дату»)
  • sub (subtract — «вычесть»)
  • round («округлить»)
  • getMoney («получить»)

Переменная/Константа — сущность, поэтому мы используем существительные:

  • child
  • result
  • euros

Берите на вооружение следующую структуру: функция — глагол, переменная/константа — существительное.

В уроке про переменные мы просили вас придумать название переменной и записать в блокноте или отправить себе на почту. Найдите это название и посмотрите на него свежим взглядом: оно понятное? Описывает суть однозначно или требует вникания?

Жизнь программиста наполнена такими моментами: открыть старый код и попытаться понять его. Будьте добры к будущему себе и к коллегам, давайте переменным, константам и функциям понятные названия.

Задание

Реализуйте функцию, которая принимает на вход номер кредитки (состоящей из 16 цифр) и возвращает его скрытую версию, которая может использоваться на сайте для отображения. Если исходная карта имела номер 2034399002125581, то скрытая версия выглядит так ****5581. Другими словами, функция заменяет первые 12 символов, на четыре звездочки. Количество звездочек регулируется вторым необязательным параметром. Значение по умолчанию - 4

const hiddenCardNumber = getHiddenCard(2034399002125581);
console.log(hiddenCardNumber); // => ****5581

const hiddenCardNumber = getHiddenCard(2034399002125581, 2);
console.log(hiddenCardNumber); // => **5581
****5581

Полезные методы:

  • String.prototype.slice – извлекает часть строки или как говорят “подстроку”. Первым параметром принимает индекс элемента, с которого надо начинать извлечение, вторым – индекс элемента, до которого извлекаются символы. По умолчанию, извлекается все до конца строки.

      // с третьего индекса до конца строки
      'java script'.slice(3); // 'a script'
    
      // с первого индекса по четвертый
      'java script'.slice(1, 4); // 'ava'
    
      // можно использовать отрицательные индексы
      // тогда отсчет берется с конца строки
      'java script'.slice(-2); // 'pt'
  • String.prototype.padStart – Дополняет строку “заполнителем” слева, до тех пор пока длина строки не станет равной указанной. Первым параметром функция принимает желаемую длинну строки, вторым – заполнитель.

      '5'.padStart(2, '*'); // '*5'
      '10'.padStart(4, '+'); // '++10'

Примеры:

getHiddenCard('1234567812345678', 2); // '**5678'
getHiddenCard('1234567812345678', 3); // '***5678'
getHiddenCard('1234567812345678'); // '****5678'

Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт.