______________________________________________________
______________________________________________________
Поскольку массивы — это особые объекты (как намекает `typeof`), то у них
могут быть свойства, включая автообновляемое свойство `length` (длина).
Теоретически, вы можете использовать массив как обычный объект со своими
собственными именованными свойствами или использовать `object`, дав ему
числовые свойства (`0`, `1` и т.д.) как у массива. Однако, в общем это было бы
использованием соответствующих типов не по назначению.
Лучшим и самым естественным подходом является использование массивов для
значений, расположенных по числовым позициям, и использовать `object` для
именованных свойств.
Функции
Еще один подтип `object`, которым вы будете пользоваться во всех ваших JS
программах — это функция:
______________________________________________________
function foo() {
return 42;
}
foo.bar = "hello world";
typeof foo;
// "function"
typeof foo();
// "number"
typeof foo.bar;
// "string"
______________________________________________________
Еще раз, функции — это подтипы `объектов`: `typeof` вернет `"function"`, что
говорит о том, что `function` является основным типом, и поэтому у него могут
быть свойства, но обычно вы в редких случаях будете пользоваться свойствами
функций (к примеру, `foo.bar`).
**Примечание:** Более детальная информация о значениях в JS и их типах есть в
первых двух главах книги *Типы и синтаксис* этой серии.
Do'stlaringiz bilan baham: