enkomium
@enkomium

Почему в toLowerCase( ) нельзя вложить что-то на подобие includes(var)?

Сори за тупой вопрос, не пойму 1 вещь.
Почему к примеру:
Number(Math.pow(2, 4));
можно записать вложено, а
var.toLowerCase( ).includes(var);
только через цепочку вложенности? Почему includes нельзя вложить в toLowerCase?
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Даже не знаю с чего начать...
Ну начну с определений объектов Number и String (сами почитаете).

У объектов есть методы, объекты можно вызывать как функции.
Первый пример
Number(Math.pow(2, 4));
Здесь мы имеем два объекта Number и Math. У объекта Math вызывается метод pow, который возвращает некое значение. Это значение передается в качестве параметра в Number, вызываемый как функция для приведения переданного значения к числу.
То есть Number() ожидает параметр, и мы его туда передаем.

Второй пример.
str.toLowerCase().includes(s);
Здесь вы имеем объект String (строка в переменной str). У этого объекта куча методов, которые можно использовать. Здесь вызывается метод toLowerCase(). Этот метод НЕ принимает никаких параметров (смотрите документацию) и возвращает новый объект String. Затем у этого нового объекта String вызывается еще один метод includes(s)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kentavr16
@Kentavr16
long cold winter
Потому что когда ты пишешь Number(Math.pow(2, 4)); , это одно - сначала вычисляется значение pow от явно переданных чисел, затем оно приводится к строке. то есть
функция1ЖдуЧислаОтФункции2(функция2)(
В случае с include ситуация наоборот.
var.toLowerCaseВозвращаетСтроку().includesОжидаетЗначениеДляОбработки()

Цепочка это причина-следствие в чистом виде, слева направо . У вложенных функций начало выполнения внутри самой вложенной, конец-снаружи.
функцияКотораяВыполнитсяПоследней(ФункцияВыполнитсяВторой(ПерваяКВыполнению))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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