@ivandao

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

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

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


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

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

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

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект