Объявление переменных javascript как конкретных типов
В названии говорится все, но я предоставлю больше разъяснений:
После просмотра многих примеров javascript, где все переменные объявлены как тип var
, и видя поддержку других типов данных, почему переменные определенного типа данных не объявлены как таковые? Смысл, почему это не так:
string hello = 'Hello, World'
вместо
var hello = 'Hello, World'
Глядя на сайты, такие как OReilly Javascript, показано, что для других типов зарезервированы слова. Опять же, почему они не используются? Разве он не сделает такие строки: typeof(variable)==='string';
больше не нужен?
Ответы
Ответ 1
Проще говоря, переменные JavaScript не имеют типов. Значения имеют типы.
Язык позволяет нам писать код следующим образом:
var foo = 42;
foo = 'the answer';
foo = function () {};
Поэтому было бы бессмысленно указывать тип в объявлении переменной, потому что тип продиктован значением переменной. Это довольно распространено в "динамических" языках.