Преобразование типов в JavaScript


Всем привет! В этой статье мы рассмотрим способы конвертации типов в языке программирования JavaScript. Чтобы преобразовывать типы, мы можем использова объекты-обертки. Они вызываются автоматически, однако, мы можем использовать их и для своих целей. String(777); // результат: '777' - строка Number('777'); // 777 - число Boolean(777); // true Есть еще такая штука как автоматическая конвертация типов. Ее делает сам JavaScript. Давайте рассмотрим некоторые из них. 5 + '1' // '51' - строка Если хоть один из операндов - строка, то второй тоже становится строкой, и получается единая строка. Из этого следует, что если нам нужно число преобразовать в строку, то можно просто прибавить к нему пустую строку. Вот так: 5 + '' // '5' - строка Если нужно строку преобразовать в число, достаточно просто прибавить унарный плюс перед строкой. +'5' // 5 - число Для того, чтобы что-то преобразовать в булев тип, нужно добавить 2 восклицательных знака в начале. !!5 - true Дело все в том, что один восклицательный знак означает "не", он преобразует что-то сразу в булев тип с противоположным значением, второй восклицательный знак стоит лишь для того, чтобы снова инвертировать полученный буль в противоположное значение. !5 - false !!5 - true !0 - true !!0 - false Для преобразования типов мы также можем использовать методы. var num = 777; num.toString(); // '777' - строка Заметьте одну штуку, мы добавили вызов метода к переменной, а не к самому числу. Дело все в том, что так мы получим ошибку: 777.toString(); Потому что JavaScript ожидает после точки получить дробные числа, ведь в этом языке нет строгой типизации. Если вам нужно добавить вызов метода именно к самому числу, а не к переменной, то используйте 2 точки. Вот так: 777..toString(); Для преобразования числа к строке, существуют также методы parseInt и parseFloat. parseInt('100px', 10) // получим число 100, остальное будет отброшено. Вторым параметром передается система счисления parseFloat отличается от parseInt только тем, что может преобразовывать числа с плавающей точкой. parseFloat('100.70px', 10); Итак, сегодня мы разобрали способы преобразования типов в языке программирования JavaScript. Спасибо за внимание и до скорого!