Руководство по JavaScript

         

Преобразование типов данных



Преобразование типов данных

Тип переменной зависит от того, какой тип информации в ней хранится. JavaScript не является жестко типизированным языком. Это означает, что вы не должны точно определять тип данных переменной, в момент ее создания. Тип переменной присваивается переменной автоматически в течение выполнения скрипта. Так, например, вы можете определить переменную следующим образом: var answer = 42

А позже, вы можете присвоить той же переменной, например следующее значение: answer = "Thanks for all the fish..." Или рассмотрим следующее выражения: //пример var oneString="1" var oneInt=1 var oneConcatenate=oneString+oneInt // В результате получается "11" var oneAddition=oneInt+oneString // В результате получается 2

В первой операции сложения первый операнд является строкой. JavaScript предпологает, что производится операция с двумя строками. Когда JavaScript обнаруживает в качестве второго операнда целое число, он в соответствии со своими представлениями преобразует переменную в строку.

Поскольку JavaScript свободно типизированный язык, то это не вызовет ошибки.

Так как JavaScript не поддерживает никаких методов и свойств для определения типа текущего значения переменной, очень важно внимательноотслеживать типы переменных во избежание неожиданных результатов.

Вообще, в выражениях, включающие числовые и строковые значения, JavaScript преобразовывает числовые значения в строковые. Например, рассмотрим следующие утверждение: x = "The answer is " + 42 y = 42 + " is the answer."

Первое утверждение будет строка "The answer is - 42 ". Второе утверждение возвращает строку " 42 - The answer is".

JavaScript предоставляет несколько специальных функций для управления строковыми и числовыми значениями:

  • eval вычисляет строку, представляющая любые JavaScript литералы или переменные, преобразовывая ее в число.
  • parseInt преобразовывает строку в целое число в указанном основании системы счисления, если возможно.
  • parseFloat преобразовывает строку в число с плавающей точкой, если возможно.



Содержание раздела