Задать вопрос
@Encoders

Как работает toString в js?

var user = {

  firstName: 'Василий',

  toString: function() {
    return 'Пользователь ' + this.firstName;
  }
};

console.log(user);

Почему выводит не то что в функции toString, а сам объект? Как это устроено в js?
  • Вопрос задан
  • 157 просмотров
Подписаться 1 Простой 16 комментариев
Решения вопроса 2
AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"
Потому что toString - это метод, метод вызывается когда к нему обращаешься. Что бы получить результат выполнения метода объекта нужно к нему обратиться
console.log(user.toString());
Ответ написан
Комментировать
space2pacman
@space2pacman
Просто царь.
function validator(value) {
    return {
      equal(array) {
    	if(array.toString() === value.toString()) {
      	  return true;
        } else {
      	  return false;
        }
      },
      isArray() {
    	if(Array.isArray(value)) {
      	  return this;
        } else {
      	  return false;
        }
      },
      isString() {
    	if(typeof value === "string") {
      	  return true;
        } else {
      	  return false;
        }
      },
      isNumber() {
    	if(typeof value === "number") {
      	  return true;
        } else {
      	  return false;
      }
    }
  }
}

console.log(validator('1').isArray()); // false
console.log(validator([]).isArray().equal([1, 2, 3])); // false
console.log(validator([1, 2, 3]).isArray().equal([1, 2, 3])); // true
console.log(validator('1').isString()); // true
console.log(validator('1').isNumber()); // false
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы