@alexUsernameUnavailable

Почему метод Number() начинается с большой буквы в javascript?

Почему метод Number() начинается с большой буквы в javascript? Ведь там используется camel case, по логике ведь метод должен начинатся с маленькой буквы?
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
Потому что это не метод, а класс (прототип). Также существуют: String, Boolean, Object, Array. При вызове классов Number, String, Boolean без оператора new они постараются привести переданное значение к примитиву (например String(true) // "true". В том случае, если их вызвать с оператором new, то они вернут новый объект (не путать с Object), значением в котором будет переданное значение. Лучше так не создавать переменные данных классов, а использовать примитивы (об этом можете почитать в книге Стоян Стефанов - JavaScript Шаблоны). У Object особое поведение при его вызове без new - он постарается понять тип переменной и впоследствии вернет экземпляр класса определенного примитива:
Object(100) // Number { 100 }
typeof Object(100) // "object"
typeof 100 // "number"
Object(100) instanceof Number // true
100 instanceof Number // false

Вызов класса Array без ключевого слова new или с ним:
с 1 аргументом - вернет пустой массив, длиной равной переданному аргументу;
с 2 и более аргументами - вернет массив значений.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
по логике ведь метод должен начинатся с маленькой буквы?

Да, но так изначально было написано и уже все сайты завязались на такое написание.

Если у вас есть идея, как это поменять, чтобы ничего не сломалось - вы получите Нобелевскую премию мира.

А вообще: Number - это не только функция, но и тип.
Ответ написан
Ваш ответ на вопрос

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

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