Условие
Напиши класс StringBuilder. На вход он получает один параметр - строку, которую записывает в свойство _value.
Добавь классу следующий функционал:
value - возвращает текущее значение поля _value;append(str) - получает параметр str (строку) и добавляет ее в конец _value;prepend(str) - получает параметр str (строку) и добавляет ее в начало value;pad(str) - получает параметр str (строку) и добавляет ее в начало и в конец _value.const builder = new StringBuilder('.');
builder.append('^');
console.log(builder.value); // '.^'
builder.prepend('^');
console.log(builder.value; // '^.^'
builder.pad('=');
console.log(builder.value; // '=^.^='
Вот мое решение:
'use strict';
class StringBuilder {
constructor(value) {
this.value = value;
}
get value() {
return this.value;
}
append(str) {
this.value.push(str);
}
prepend(str) {
this.value.unshift(str);
}
// додає елемент на поч і в кін
pad(str){
this.value.unshift(str);
}
}
const builder = new StringBuilder('.');
// const value = builder.value();
// console.log(this.value);
builder.append('^');
console.log(builder.value); // '.^'
builder.prepend('^');
console.log(builder.value; // '^.^'
Скорее всего, тебе сказали, что строка - это массив символов) Но это не значит, что строка поддерживает те же методы, что и массив)
class StringBuilder {
constructor(value) {
this.value = value;
}
get val() {
return this.value;
}
set val(value) {
this.value = value;
}
append(str) {
this.value += str;
}
prepend(str) {
this.value = str + this.value;
}
// додає елемент на поч і в кін
pad(str) {
this.value = str + this.value + str;
}
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости