JavaScript вызов значения по умолчанию класса - PullRequest
0 голосов
/ 16 февраля 2020

Я пытаюсь присвоить значение по умолчанию классу JavaScript.

т.е.

class tr{
    constructor(value=null){
        this.type = typeof value;
        this.val = value;
        this.start = new Date();
    }
}

Теперь, если я хочу получить значение, я должен использовать что-то вроде этого:

let trVar = new tr;
console.log(trVar.val);

Но я хочу назвать значение по умолчанию, когда я вызываю только trVar. Я имею в виду:

console.log(trVar);

Это должно быть значение.

Я не хочу удалять тип и запуск.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2020

То, что вы запрашиваете, - это анти-паттерн для OOP.

Когда вы выбрали этот маршрут OOP, вы должны использовать его по назначению.

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

, вы можете создать функцию, которая возвращает только то, что вы хотите, и хранить в ней все, что вам не нужно. Я думаю, это сработало бы лучше для вас.

0 голосов
/ 16 февраля 2020

Примечание:

Я не уверен, почему вы хотите это сделать, но let trVar = new tr trVal здесь является ссылкой на экземпляр tr.

Возможно:

То, что вы пытаетесь сделать, - это получить поле val при создании экземпляра класса tr. К сожалению, ключевое слово new создает новый экземпляр, ссылка на который хранится в trVar ... Таким образом, чтобы получить значение из экземпляра, вы можете сделать это: let trVar = (new tr).val;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...