powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить значения из класса?
23 сообщений из 23, страница 1 из 1
Как получить значения из класса?
    #39968882
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
        class MyString{
            constructor(str){
                this.s=str;
            }

            append(str){
                this.s+=str.toString();
                return this;
            }

            prepend(str){
                this.s=str.toString()+this.s;
                return this;
            }

            padding(str){
                this.s=str.toString()+this.s+str.toString();
                return this;
            }
        }

        const my_string = new MyString('.');


        my_string
            .append('>')
            .prepend('<')
            .padding('*');



Как получить значение из класса вместо объекта ?
console.log(my_string); // '*<.>*'
Именно таким способом (без my_string.s)

Условие:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
const my_string = new MyString('.');

        my_string
            .append('>')
            .prepend('<')
            .padding('*');

console.log(my_string); // '*<.>*'


append - справа добавляет символ
prepend - слева
padding - с обоих сторон
Можно кобмибинировать
например
my_string.append('>').append('>').append('>').append('>').append('>')
но в console.log(my_string) чтоб было только значение
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39968888
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

добавь ещё метод toString
и будет тебе подобие java
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39968894
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
        class MyString{
            value=''
            constructor(str){
                this.value=str;
            }

            append(str){
                this.value+=str.toString();
                return this;
            }

            prepend(str){
                this.value=str.toString()+this.value;
                return this;
            }

            padding(str){
                this.value=str.toString()+this.value+str.toString();
                return this;
            }

            toString(){
                return this.value;
            }

        }

        const my_string = new MyString('.');


        my_string
            .append('>')
            .prepend('<')
            .padding('*');

        console.log(my_string); // '*<.>*' НЕ РАБОТАЕТ



Не получается... Кажется меня пытаются развести
my_string.toString() понятно что будет работать, но мне сделали вызов "типа сделай" console.log(my_string); // '*<.>*'
может как-то класс в классе? есть способ?
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39968971
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

ага, пытаются развести на изучение декораторов, call и apply

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
class MyString {
    value = '';

    constructor(s) {
        this.value = s;
    }

    append(s) {
        this.value += s.toString();
        return this;
    }

    prepend(s) {
        this.value = s.toString() + this.value;
        return this;
    }

    padding(s) {
        this.value = s.toString() + this.value + s.toString();
        return this;
    }

    toString() {
        return this.value;
    }
}

const decorator = function(func) {
    return function(value) {
        return func(value.toString());
    }
}        
const my_string = new MyString('.');      


my_string.append('>').prepend('<').padding('*');

console.log = decorator(console.log);

console.log(my_string); // '*<.>*' РАБОТАЕТ
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969167
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

Это лаба? Если нет - то это нормально работать не будет. Тут стрингбилдер делают так:
Код: javascript
1.
['>','<','*'].join("")


Тоже - херня, но лучше ничего нет, вроде как.
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969168
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969170
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

Код: sql
1.
console.log(my_string+"");


Будет работать, нужен каст. Сам по себе console.log не делает toString.

Код: sql
1.
2.
3.
4.
console.log({a:1,b:2});
>{ a:1, b:2 }
{a:1,b:2}.toString()
>[object Object]
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969171
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

Декоратор - это читероство. Тем более, что в других местах console.log будет сломан.
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969172
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159
но мне сделали вызов "типа сделай"

Ну если они типа знают, как без декоратора, то пиши сюда.
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969460
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Дмитрий Мух,

Декоратор - это читероство. Тем более, что в других местах console.log будет сломан.

Сделай без декоратора и без приведения к строке
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969530
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
---
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969550
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, что пытались, но решил при помощи переопределения console.log
Брат в IT не первый год работает, предложил подменить console.log
А дальше сам. Мне бы такое в голову не пришло так жостко подшутить. Теперь могу выводить через console.log "Пошол в ж.." при значении false :)


Код: javascript
1.
2.
3.
4.
5.
6.
console.log_old=console.log;
        console.log=function(v){
            if(typeof v['value']!='undefined')
                console.log_old(v.value);
            else console.log_old(v);
        }
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969615
voraa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей159,
А что будет с
console.log (a,b, c) ?
тогда уж так

Код: javascript
1.
2.
3.
4.
5.
console.log_old=console.log;

console.log=function(...v){
        console.log_old(...v.map(x => x instanceof MySting? x.value : x))
}
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39969756
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159
Не знаю, что пытались, но решил при помощи переопределения console.log
Брат в IT не первый год работает, предложил подменить console.log
А дальше сам. Мне бы такое в голову не пришло так жостко подшутить. Теперь могу выводить через console.log "Пошол в ж.." при значении false :)


Код: javascript
1.
2.
3.
4.
5.
6.
console.log_old=console.log;
        console.log=function(v){
            if(typeof v['value']!='undefined')
                console.log_old(v.value);
            else console.log_old(v);
        }


Мда, тот ещё говнокодище.

А почему вы так и не узнали того, зачем вам задали эту задачку?
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970159
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"А почему вы так и не узнали того"
Это как действие "открыть дверь в ванную" переназначить на волшебство "открыть дверь в ванную и включить стиралюную машинку". Практичного применения никакого, а чисто идиотизм проверить на способность стать Гари Поттером, поскольку язык волшебный - покажите нам волшебство. Куда такую дурь применить в реальной жизни. Есть на много полезней задачи. Лучше бы распознавание речи глубже исследовали и не кланялись к сторонним платным API.
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970164
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Мда, тот ещё говнокодище"
какой язык, такой и код. Сдесь кто как хочет так строчит. Если придумали от минимум 4 цикла, то мне лично пох кто как привык по стандарту. Тут тебе и call и apply.. Вообще насрать... Никому нет дела до твоего приличного писмеца. Если яйца не мешают, то все читабельно в любом виде
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970167
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий, это не к тебе лично. Слышу не первый раз. И старый код всегда гавнокод. Что-то новое узнал и нашел гавнокод в старой версии. Это норм
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970186
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

"Декоратор" это что-то из GoF. А в УродоСкрипте это, ведь, кажется, "карринг" называется.
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970189
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159,

что-то у вас одни эмоции вместо ответа на простой вопрос
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970191
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat
Дмитрий Мух,

"Декоратор" это что-то из GoF. А в УродоСкрипте это, ведь, кажется, "карринг" называется.

В гугле забанили?
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970276
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159
Если яйца не мешают, то все читабельно в любом виде


Если яйца не мешают, можно и у знахарки лечиться, вместо квалифицированных врачей -- да? )))
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970280
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух,

Да, согласен, это, скорее не карринг, но, честно говоря, сейчас вся эта жаваскриптовая муть меня уже слабо волнует :))
...
Рейтинг: 0 / 0
Как получить значения из класса?
    #39970395
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"что-то у вас одни эмоции вместо ответа на простой вопрос"
Старею(
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как получить значения из класса?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]