Задать вопрос
@ivandao

Как написать метод?

String.prototype.shortStr = ( n )=>{

    const dots = '...'
   
    if ( string.length <= n ){
        return this
    } else {
        return dots + string.substring( string.length - n )
    }
}


Как мне получить саму строку, к которой будет применяться метод?
Попробовал this - не работает.
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
this не работает, потому что вы используете стрелочную функцию, да еще и в глобальном контексте.
Не надо так.
Не нужна она здесь. Они вообще на удивление мало где нужны.
Вообще не используйте стрелочные функции, если работает без них. Сначала пишите обычную функцию, а потом смотрите, как там используется this. Если контекстом управляет что-то еще, а в данном случае метод всегда вызывается в контексте строки, то стрелочная функция не нужна и даже вредна.

String.prototype.shortStr = function() {} и все будет работать.

P.S. Расширять прототипы встроенных объектов считается плохой практикой.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы