Сегодня мы собираемся обсудить интересный факт о JavaScript, который существует не во всех языках программирования. Когда вы пишете выражение, функцию и т. д. (на самом деле все, что содержит переменную), JavaScript берет переменную, которую вы объявляете и определяете, и делает все возможное, чтобы выяснить, какой тип данных кажется подходящим для контекста. Это называется приведением типов. Например, если вы выполняете изящную конкатенацию строк с такой переменной:

переменная число = 27;

JavaScript фактически преобразует это число в строку, потому что конкатенация применяется только к строковым объектам. Довольно мило, правда?

Теперь причина, по которой это работает, заключается в том, что JavaScript не заставляет вас объявлять тип данных при объявлении самой переменной. Это означает, что в предыдущем примере переменная «num» имеет тип данных, который сам по себе является переменной. Это пример слабо типизированного языка. Подобно глине, тип данных можно формовать в соответствии с ситуацией. В языке со строгой типизацией тип данных заложен в камне и вообще не может быть сформирован. Взгляните на эти объявления переменных из множества других языков и угадайте, какие языки относятся к какому типу:

JavaScript: var bookTitle = «HTML и CSS»;

Java: String rightBicepName = «Беспричинное уничтожение»;

Python: площадь = длина * ширина

С#: public int mediumMilesPerHourOverTheSpeedLimit = 20;

С++: char middleInitial = ‘j’;

Руби: @number_of_books = 2