Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос касательно консоли разработчика (https://javascript.ru/forum/misc/74848-vopros-kasatelno-konsoli-razrabotchika.html)

Egor_735_jr 11.08.2018 23:12

Вопрос касательно консоли разработчика
 
Добрый вечер)
Появилась такая проблема походу изучения javascript'a. :help: При попытке вывести значение в консоль, выводится сама функция, а не ее результат. Прошу помочь с данной проблемой

var F=function(name){
                this.setName=function(name){
                    this.name=name;
                }
                this.getName=function(name){
                    return this.setName;
                }
                this.setName=name;
            }
		
            var obj1=new F('Вася');
            console.log(obj1.getName);

j0hnik 11.08.2018 23:14

console.log(obj1.getName());

так не пробовали?

Malleys 12.08.2018 07:12

В JavaScript есть сеттеры/геттеры... они похожи на функцию, т. е. можно произвести действия, а вызывается без скобок, прямо как свойство
{
    class F {
        constructor(name) {
            this._name = name;
        }

        get name() {
            return this._name;
        }

        set name(name) {
            this._name = name;
        }
    }

    var obj1 = new F("Вася");
    console.log(obj1.name);
}


Цитата:

Сообщение от Egor_735_jr (Сообщение 491955)
Является ли объект, со свойством конструктора, прототипом созданных от этого объекта объектов?

Вот схема, показывающая, отношения объекта и функции.

Чтобы узнать собственные свойства объекта, используйте статичный метод Object.getOwnPropertyNames
console.log(Object.getOwnPropertyNames(["a","b"]));

Чтобы посмотреть, на что ссылается внутреннее свойство [[Prototype]], используйте статичный метод Object.getPrototypeOf
console.log(Object.getOwnPropertyNames(Object.getPrototypeOf(["a","b"])));


Часовой пояс GMT +3, время: 07:29.