Видео курс JavaScript Starter. Строки и преобразование типов
- Головна >
- Каталог >
- JavaScript Стартовый >
- Строки и преобразование типов
Для проходження тесту необхідно авторизуватися
Увійти Реєстрація
×
Ви відкрили доступ до тесту! Пройти тест
Для перегляду повної версії відеокурсу, онлайн тестування та отримання доступу до додаткових навчальних матеріалів придбайте курс Придбати курс
Для перегляду всіх відеокурсів ITVDN, представлених у Каталозі, а також для отримання доступу до навчальних матеріалів та онлайн тестування придбайте підписку Придбати підписку
№1
Введение
0:28:13
Матеріали урокуДомашні завданняТестування
Это первый урок курса, в котором вы узнаете историю возникновения JavaScript и основные задачи, которые решаются с помощью этого языка программирования. Вы узнаете в чем разница между разработкой на сервере и разработкой на клиенте. Выберите редактор, кода в котором начнете писать на JavaScript.
Читати далі…
№2
Структура кода
0:21:14
Матеріали урокуДомашні завданняТестування
Перед началом изучения синтаксических конструкций, мы узнаем основные правила оформления кода. Начнем с определения понятия инструкция и узнаем, чем инструкции отличаются от комментариев в коде. В этом уроке, вы также научитесь подключать JavaScript к HTML странице и узнаете в чем разница между интерпретацией и компиляцией кода.
Читати далі…
№3
Переменные и типы данных в JavaScript
0:38:50
Матеріали урокуДомашні завданняТестування
Основа любого алгоритма — это переменная. В этом уроке вы научитесь создавать переменные и константы, а также изучите типы данных, которые есть в JavaScript. JavaScript это язык программирования с динамической типизацией, поэтому вы увидите, что работать с переменным достаточно просто.
Читати далі…
Строки и преобразование типов
0:28:04
Матеріали урокуДомашні завданняТестування
Большая часть сценариев, написанных на JavaScript, взаимодействуют с пользователем. Результаты работы сценариев отображаются пользователю в виде текста, информация, которую пользователь передает в сценарий, тоже приходит в виде текста. Этот урок объясняет, как работать со строковым типом данных (типом данных который может содержать текстовые значения), а также объясняет основные способы преобразования значений разных типов.
Читати далі…
Операторы
0:39:16
Матеріали урокуДомашні завданняТестування
Все языки программирования для определения выражений при написании инструкций используют операторы. Например, сложение, умножение или сравнение значений на равенство происходит с помощью операторов. Задача этого урока показать общий принцип работы с бинарными и унарными операторами и изучить основные операторы.
Читати далі…
Условный оператор if
0:44:53
Матеріали урокуДомашні завданняТестування
Условные конструкции – важная часть любого алгоритма. Без условных конструкций код будет выполняться линейно и одинаково. Если вы хотите сделать так, чтобы действия пользователя могли влиять на последовательность выполнения инструкций, вам нужно научиться работать с оператором if else и узнать особенности работы с типом данных Boolean. Как раз эту задачу решает данный урок.
Читати далі…
Switch и тернарный оператор
0:22:34
Матеріали урокуДомашні завданняТестування
Оператор if это основа ветвления в коде, но иногда для ветвлений подойдет другая условная конструкция – switch. В этом уроке будут рассмотрены способы использования оператора switch и вы узнаете, как работают такие ключевые слова как case, default и break. Также, в этом уроке будет рассмотрена третья условная конструкция – тернарный оператор. Она не очень часто используется в коде, но в определенных ситуация может сделать код более понятным и коротким.
Читати далі…
Циклы
0:48:05
Матеріали урокуДомашні завданняТестування
В процессе создания алгоритма часто необходимо одно и то же действие выполнить много раз. Вместо того, чтобы копировать инструкции в коде, разработчик использует циклы. В этом уроке вы узнаете, как с помощью циклических конструкций while, do/while и for повторить блок кода нужное количество раз.
Читати далі…
Массивы в JavaScript
0:36:57
Матеріали урокуДомашні завданняТестування
Задачи, которые стоят перед разработчиком, зачастую связаны с обработкой большого количества данных. Если задача сохранить много значений, в программировании используются массивы и в этом уроке вы узнаете, как создаются массивы, как модифицируются значения элементов массива, а также освоите основные инструменты для работы с массивами в коде.
Читати далі…
Методы массивов
0:28:25
Матеріали урокуДомашні завданняТестування
С массивами придется работать часто, а задачи, связанные с массивами, будут самыми разнообразными. Иногда нужно добавить значение в начало массива, а иногда в конец. Бывает, что нужно удалить элемент массива или найти элемент по указанному значению. В этом уроке вы изучите несколько методов, которые есть в каждом массиве и позволяют легко решать подобные задачи.
Читати далі…
Функции. Часть 1
0:51:24
Матеріали урокуДомашні завданняТестування
При написании кода, некоторые блоки кода нужно использовать повторно, а в каких-то ситуациях вы захотите воспользоваться чужим кодом, неоднократно используя его в разных частях своей программы. Для того чтобы повторно использовать уже написанные инструкции, или чтобы просто понятно организовать структуру кода, используются функции. В этом уроке вы узнаете, как создать функцию, вызвать ее, использовать параметры и возвращаемые значения функции.
Читати далі…
Функции. Часть 2
1:00:54
Матеріали урокуДомашні завданняТестування
Функции — это очень важная часть языка JavaScript, поэтому во этом уроке вы продолжите изучение функций и узнаете о том, что такое области видимости. В этом уроке также будут показаны особенности создания переменных с помощью ключевого слова var, которое уже устарело, но все же может встречаться в сценариях. Кроме этого, вы узнаете разные способы определения функций и расширите свои знания, полученные в прошлом уроке. И в дополнение ко всему разберете рекурсию и функции обратного вызова.
Читати далі…
Объекты. Часть 1
0:35:20
Матеріали урокуДомашні завданняТестування
На протяжении всего курса вы будете создавать переменные и массивы для того, чтобы сохранять данные во время выполнения сценариев. Но часто логически связанные значения нужно объединить, например, когда эти значения описывают некую бизнес сущность, над которой работает ваш сценарий. В таких ситуациях используются объекты и все значения которые раньше вы хранили в переменных превращаются в свойства объекта. Объекты настолько часто встречаются в коде, что понимание их создания и использования критически важно для программирования на языке JavaScript. В этот урок вошли примеры, которые помогут разобраться с тем, как создать объект, поместить в него свойства и методы и воспользоваться этим объектом в будущем.
Читати далі…
Объекты. Часть 2
0:36:56
Матеріали урокуДомашні завданняТестування
В этом уроке будет продолжена тема использования объектов, но будут рассмотрены более продвинутые техники работы с объектами. Вы узнаете, как можно использовать контекст в методах и как создавать фабричные функции, которые позволят наладить создание объектов с одинаковой структурой. Вы научитесь проверять наличие свойств в объекте и работать с ключевым словом in, а также узнаете, что для работы с объектами есть специальный цикл for … in. Кроме этого, в урок вошла важная тема – ссылочные типы и типы значений. Вам не раз пригодятся знания того, как работают разные типы при создании JavaScript сценариев.
Читати далі…
ПОКАЗАТИ ВСЕ
ДЕТАЛЬНІШЕ
ДЕТАЛЬНІШЕ
ДЕТАЛЬНІШЕ
3.8. Преобразование типов . JavaScript. Подробное руководство, 6-е издание
JavaScript может гибко преобразовывать один тип в другой. Мы уже могли убедиться в этом на примере логических значений: везде, где интерпретатор JavaScript ожидает получить логическое значение, можно указать значение любого типа и JavaScript автоматически выполнит необходимое преобразование. Одни значения («истинные» значения) преобразуются в значение true, а другие («ложные») — в false. То же относится и к другим типам: если интерпретатор ожидает получить строку, он автоматически преобразует любое другое значение в строку. Если интерпретатор ожидает получить число, он попробует преобразовать имеющееся значение в число (в случае невозможности такого преобразования будет получено значение NaN). Например:
10 + » objects» // => «10 objects». Число 10 преобразуется в строку
var n = 1 — «x»; // => NaN: строка «x» не может быть преобразована в число
n + » objects» // => «NaN objects»: NaN преобразуется в строку «NaN»
В табл. 3.2 описывается, как в JavaScript выполняется преобразование значений из одного типа в другой. Жирным шрифтом в таблице выделены значения, соответствующие преобразованиям, которые могут преподносить сюрпризы. Пустые ячейки соответствуют ситуациям, когда преобразование не требуется и не выполняется.
Преобразования одного простого типа в другой, показанные в табл. 3.2, выполняются относительно просто. Преобразование в логический тип уже обсуждалось в разделе 3.3. Преобразование всех простых типов в строку четко определено. Преобразование в число выполняется немного сложнее. Строки, которые могут быть преобразованы в числа, преобразуются в числа. В строке допускается наличие пробельных символов в начале и в конце, но присутствие других непробельных символов, которые не могут быть частью числа, при преобразовании строки в число приводят к возврату значения NaN. Некоторые особенности преобразования значений в числа могут показаться странными: значение true преобразуется в число 1, а значение false и пустая строка «» преобразуются в 0.
Преобразование простых типов в объекты также выполняется достаточно просто: значения простых типов преобразуются в соответствующие объекты-обертки (раздел 3.6), как если бы вызывался конструктор String(), Number() или Boolean().
Преобразование объектов в простые типы выполняется значительно сложнее и является темой обсуждения раздела 3.8.3.
Приведение типов в JavaScript
Даже если JavaScript является свободно типизированным языком, вам может понадобиться преобразовать значение из одного типа в другой.
В JavaScript у нас есть такие примитивные типы:
-
Число
-
Строка
-
Логический
-
Символ
и тип объекта:
-
Объект
(плюс null
и undefined
, но нет смысла приводить к ним/от них)
Например, вы можете преобразовать:
- число в строку
- строка на номер
- строка в логическое значение
- логическое значение в строку
…и так далее.
Вот методы, которые можно использовать для преобразования одного типа в другой. Я освещаю самые распространенные случаи.
Преобразование в строки
Обычно преобразование из чего-либо в строку обычно связано с вызовом toString()
для любого значения, и JavaScript создаст строковое значение, соответствующее этому типу. Или вы можете передать любое значение глобальной функции String()
.
Преобразование числа в строку
Использовать глобальную функцию String или метод Number toString()
:
String(10) //"10" (10).toString() //"10"
Преобразование логического значения в строку
Использовать глобальную функцию String или логический тип toString()
метод:
String(true) //"true" true.toString() // "истина" Строка(ложь) //"ложь" false.toString() // "ложь"
Преобразование даты в строку
Используйте глобальную функцию String или метод типа Date toString()
:
String(new Date('2019-01-22')) //"Вторник, 22 января 2019 г., 01:00:00 GMT+0100 (центральноевропейское стандартное время)" (новая дата('2019-01-22')).toString() //"Вторник, 22 января 2019 г., 01:00:00 GMT+0100 (центральноевропейское стандартное время)"
Особые чехлы с цепочкой
Строка (нуль) //"нуль" Строка (не определено) // "не определено" Строка (NaN) //"NaN"
Преобразование в числа
Преобразование строки в число
Мы можем сделать это с помощью глобальной функции Number()
, которая является своего рода конструктором. Мы можем передать ему строку, и JavaScript поймет, как преобразовать ее в число:
Number("1") //1 Число("0")//0
Строки обрезаются перед преобразованием в числа:
Number(" 1 ") //1
передача пустой строки по умолчанию 0:
Number("") //0
, а для работы с десятичными знаками используйте точку:
Number("12.2")
Если строка содержит недопустимые символы, будет сгенерировано NaN
.
Это основы преобразования в числа, но я дам гораздо больше подробностей о том, как преобразовать строку в число в JavaScript. Существуют и другие способы генерации чисел из строки, включая parseInt()
, parseFloat()
, Math.floor()
, унарный оператор +
.
Преобразование логического значения в число
Как и для строки, передача логического значения в Number()
вернет либо 0, либо 1:
Number(true) //1 Число (ложь)//0
Преобразование даты в число
Если вы передадите объект Date в Number()
, он вернет временную метку даты, что является лучшим преобразованием даты в число, которое вы можете получить.
Особые чемоданы с номером
Число (нулевое) //0 Число (не определено) //NaN Число (NaN)//NaN
Преобразование в логическое значение
Любое значение может быть преобразовано в логическое значение, передавая его в Boolean()
.
Все значения преобразуются в true
кроме:
Boolean(false) //false Логическое (0) //ложь Логическое значение (NaN)//ложь логическое("")//ложь Логическое (нулевое)//ложь Логическое значение (не определено)//ложь
Загрузите мой бесплатный справочник по JavaScript!
Приведение типов JavaScript (неявное преобразование) и зачем использовать «===» и избегать «==». | Параг Патил
Приведение типов — это автоматическое или неявное преобразование значений из одного типа данных в другой. Например, преобразование строкового значения в эквивалентное числовое значение. Это также известно как преобразование типов.
Приведение типов может быть полезным, но может привести к несоответствиям.
Возьмем небольшой пример,
Пример: 1
Преимущество приведения типов
В приведенном выше примере мы сравниваем две цены акций и записываем вывод в консоль.
stockAPrice — число, а stockBPrice — строка.
В условии if, if(stockAPrice == stockBPrice), мы сравниваем числовое значение и строковое значение.
Для сравнения этих двух значений мы используем двойной знак равенства (==), это сравнение на равенство известно как абстрактное сравнение на равенство. Абстрактное сравнение выполняется с использованием приведения типов, что означает, что JavaScript попытается автоматически преобразовать тип для получения результата.
В приведенном выше примере JavaScript преобразует строковое значение в числовое значение, а затем выполняет сравнение. Ниже приведен вывод условия if.
Чтобы узнать больше о том, как JavaScript выполняет абстрактное сравнение на равенство, посетите http://ecma-international.org/ecma-262/5.1/#sec-11.9.3
До сих пор мы видели преимущества приведения типов.
Пример: 2
Непреднамеренное приведение типа
Во фрагменте кода выше stockAPrice — это число, а stockBPrice — это строка.
Теперь давайте попробуем сложить их, чтобы узнать общий объем инвестиций, если мы решили купить по одному количеству каждой акции.
let totalInvestment = stockAPrice + stockBPrice;
В операторе выше мы делаем сложение числа и строкового значения. Это очень похоже на сравнение на равенство в предыдущем примере, но приведение типов в JavaScript ведет себя по-другому. Ниже приведен вывод приведенного выше фрагмента кода,
. В этом случае он преобразует числовое значение в строковое значение ( напротив сравнения на равенство ), и мы получаем конкатенированную строку. Мы ожидали добавления, т.е. totalInvestment = 24.
Как и в двух приведенных выше примерах, мы увидели, что приведение типов приводит к противоречивым результатам.
Предотвращение противоречивых результатов приведения типов
Теперь давайте посмотрим, как мы можем избежать приведения типов,
Пример: 1
Изменить абстрактное сравнение на равенство на строгое сравнение на равенство (замените «==» на «===» )
Мы изменили Пример: 1.
stockAPrice — число, а stockBPrice — строка.
В условии if, if(stockAPrice === stockBPrice), мы сравниваем числовое значение и строковое значение, но мы заменили «==» на «===».
Для сравнения этих двух значений мы используем знак равенства рубца (===), это сравнение на равенство известно как строгое сравнение на равенство. Строгое сравнение вернет true, только если значения имеют одинаковый тип и одинаковые значения. Ниже вывод,
Чтобы узнать больше о том, как выполняется строгое сравнение на равенство, посетите http://ecma-international.org/ecma-262/5.1/#sec-11.9.6
Пример: 2
Явное преобразование типа
В приведенном выше фрагменте кода stockAPrice — это число, а stockBPrice — это строка.
Чтобы узнать общую сумму инвестиций, нам нужно их сложить, но теперь, чтобы избежать приведения типов, мы явно преобразуем их в числовое значение.