English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Типовая конверсия - это метод преобразования одного типа данных в другой.
В JavaScript типы данных используются для классификации специфического типа данных, определения значений, которые могут быть分配лены к этому типу, и операций, которые можно выполнять над ним.
В JavaScript есть 5 типов данных, которые могут содержать значения:
string
number
boolean
object
function
Есть 3 типа объектов:
Object
Date
Array
Есть еще 2 типа данных, которые не могут содержать значения:
null
undefined
Оператор typeof помогает вам определить тип переменной.
Оператор typeof возвращает тип переменной или выражения.
typeof "" // возвращает "string" typeof "Vishal" // возвращает "string" typeof "42" // возвращает "string" (число в кавычках является строкой) typeof 42 // 返回 "number" typeof 42 // возвращает "number" typeof true // возвращает "boolean" typeof false // возвращает "boolean" typeof undefined // возвращает "undefined" typeof null // возвращает "object" typeof {name:"Vishal", age:22} // возвращает "object" typeof [2, 4, 6, 8] // возвращает "object" (не "массив")Проверьте, что‹/›
typeof function myFunc(){} // возвращает "function"
Скрытое преобразование
Как языку программирования, JavaScript очень терпим к неожиданным значениям. Поэтому JavaScript пытается преобразовать неожиданные значения, а не сразу их отвергать. Это скрытое преобразование называется типовой coercing.
Например, в математических вычислениях значения автоматически преобразуются в числа.
Но результат не всегда соответствует вашим ожиданиям: "3" + 2 // возвращает "32" (поскольку 2 преобразуется в "2") "3" - 2 // возвращает 1 (поскольку "3" преобразуется в 3) "3" * "2" // возвращает 6 (поскольку "3" и "2" преобразуются в 3 и 2) 2 + true // возвращает 3 (поскольку true преобразуется в 1) 2 + false // возвращает 2 (поскольку false преобразуется в 0) 2 + null // возвращает 2 (поскольку null преобразуется в 0)Проверьте, что‹/›
"2" + null // возвращает "2null" (поскольку null преобразуется в "null")
В некоторых случаях нам нужно явно преобразовать значение из одного типа данных в другой.
JavaScript предоставляет множество различных методов для выполнения таких задач преобразования типов данных.
Мы можем преобразовать значение в строку, вызывая:String()Функция илиx.toString()Метод преобразует значение в строку явно.
Через этотString()Функция, мы будемtrueПередавая её в качестве аргумента, мы можем преобразовать булево значение в строку:
String(true);// возвращает "true"Проверьте, что‹/›
Кроме того, мы можем передать число функции:
String(108);// возвращает "108"Проверьте, что‹/›
Мы можем использовать оператор typeof для проверки типа:
typeof String(true);// Возвращает "string" typeof String(108); // Возвращает "string"Проверьте, что‹/›
Мы можем использовать аналогичным образомx.toString()Метод. Мы можем заменить x переменной:
let temp = 108; temp.toString();Проверьте, что‹/›
Или, мы можем поместить значение в скобки, а не использовать x.toString() для установки переменной:
(9048).toString();// Возвращает "9048" (false).toString(); // Возвращает "false" (50 + 20).toString(); // Возвращает "70"Проверьте, что‹/›
ИспользуяString()илиx.toString()Мы можем явно преобразовать значения типа Boolean или number в строковые значения, чтобы обеспечить выполнение нашего кода по ожидаемому сценарию.
При преобразовании значений в тип данных "число" мы будем использоватьNumber()Функция。
Сначала мы преобразуем текстовую строку с числами в число, но мы также можем преобразовать булевы значения.
Мы можем передать строку числа функцииNumber()Функция:
Number("1992");// Возвращает 1992Проверьте, что‹/›
Мы также можем присвоить строку переменной и затем преобразовать её:
let debt = "3500"; Number(debt); // Возвращает 3500Проверьте, что‹/›
Пробельные строки или пустые строки будут преобразованы в 0 (ноль):
Number(" ");// Возвращает 0 Number(""); // Возвращает 0Проверьте, что‹/›
Обратите внимание, что ненумерационные строки будут преобразованы в NaN, где NaN означаетНенумерация.Это включает числа, разделенные пробелами:
Number("seventy"); // Возвращает NaN Number("Hello world"); // Возвращает NaN Number("12,000");// Возвращает NaN Number("5 7"); // Возвращает NaN Number("26-11-2008");// Возвращает NaNПроверьте, что‹/›
Для булевых данных типов,falseЗначение0,trueЗначение1:
Number(false); // Возвращает 0 Number(true); // Возвращает 1Проверьте, что‹/›
Если параметр является объектом Date, тоNumber()Функция возвращает количество миллисекунд с полуночи 1 января 1970 года UTC:
Number(new Date());Проверьте, что‹/›
ДанныйNumber()Функция преобразует данные, не являющиеся числами, в числа.
Чтобы преобразовать число или строку в булево значение, используйте функцию Boolean().
Любое значение, интерпретируемое как пустое (например, цифра 0, пустая строка или undefined или NaN или null), преобразуется вfalse:
Boolean(0); // возвращает false Boolean("");// возвращает false Boolean(undefined); // возвращает false Boolean(NaN); // возвращает false Boolean(null); // возвращает falseПроверьте, что‹/›
Другие значения преобразуются вtrueвключая строки, состоящие только из пробелов:
Boolean(50); // возвращает true Boolean(-50);// возвращает true Boolean(3.14); // возвращает true Boolean("false");// возвращает true Boolean("Hello World"); // возвращает trueПроверьте, что‹/›
Обратите внимание, что " 0" в качестве строкового литерала преобразуется вtrue,Потому что это не пустая строковая величина:
Boolean("0"); // возвращает trueПроверьте, что‹/›
Преобразование чисел и строк в булево значение позволяет нам оценивать данные в двоичных выражениях и использовать их для указания потоков в программе.
toString()Этот метод преобразует массив в строку (разделенную запятыми) значений массива.
var months = ["Jan", "Feb", "Mar", "Apr", "May"]; document.getElementById("result").innerHTML = months.toString();Проверьте, что‹/›
join()Этот метод также преобразует все элементы массива в новый строковый объект.
行为类似于该方法toString()Но вы также можете指定 разделитель.
var fruits = ["Banana", "Apple", "Mango"]; fruits.join(" + "); // Banana + Apple + Mango fruits.join(" / "); // Banana / Apple / Mango fruits.join(" © "); // Banana © Apple © MangoПроверьте, что‹/›
Когда ожидается исходное значение, JavaScript автоматически преобразует массив в строку, разделенную запятыми.
Когда вы пытаетесь выводить массив, он всегда будет таким.
let fruits = ["Apple", "Mango", "Banana", "Orange"]; document.getElementById("result").innerHTML = fruits;Проверьте, что‹/›
split()Метод для разделения строки на массив подстрок и возвращения нового массива.
Мы будем использоватьsplit()Метод разделяет массив, используя символы пробела, как показано.
var str = 'Air Pollution is introduction of chemicals to the atmosphere.'; var arr = str.split(" ");Проверьте, что‹/›
Теперь вarrВ переменной появился новый массив, и мы можем использовать индекс для доступа к каждому элементу:
arr[0]; // Air arr[2]; // isПроверьте, что‹/›
В следующем примере мы будем использовать "i" в качестве разделителя:
var str = 'Air Pollution is introduction of chemicals to the atmosphere.'; var arr = str.split("i");Проверьте, что‹/›
Если использовать пустую строку (" ") в качестве разделителя, строка будет преобразована в массив символов:
var str = 'Air Pollution is introduction of chemicals to the atmosphere.'; var arr = str.split(" ");Проверьте, что‹/›