С какими типами данных позволяет работать javascript. JavaScript


Переменная – это именованный участок памяти, в который можно как сохранить некоторую информацию, так и получить её из неё.

Объявление (создание) переменных осуществляется с помощью ключевого слова var .

// message - имя переменной var message;

При создании переменной ей сразу же можно присвоить значение.

Присвоение переменной значения осуществляется с помощью оператора «=».

// например, создадим переменную email и присвоим ей строку "[email protected]" var email = "[email protected]"; // установим переменной email новое значение email = "[email protected]";

Для того чтобы получить значение переменной достаточно просто обратиться к ней по имени.

// например, выведем в консоль браузера значение переменной email: console.log(email);

Для того чтобы объявить не одну, а несколько переменных с помощью одного ключевого слова var , необходимо использовать запятую.

Var price = 78.55, quantity = 10, message;

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

Var output = "успех"; // переменная имеет строковый тип данных output = 28; // эта же переменная, но уже имеющая тип данных «число» output = true; // эта же переменная, но уже хранящая булевское значение

Значение переменной можно изменять неограниченное количество раз.

// создана переменная age var age; // переменной age присвоено значения 67 age = 67; // переменной age установлено значение «Пенсионный возраст» age = "Пенсионный возраст"; // переменной age установлено число 55 age = 55;

Хорошей практикой при разработке клиентских считается использование в определённой переменной только одного типа данных, т.е. не записывать в переменную значения, имеющие различные типы данных. Чтобы понять какой тип данных стоит ожидать в переменной рекомендуется при создании переменной её сразу инициализировать определённым значением.

Имя переменной можно составлять из букв, цифр и символов $ и _. При этом первый символ переменной не должен быть цифрой. Кроме этого в качестве имени переменной нельзя использовать зарезервированные слова.

// создание двух переменных, первая переменная имеет имя phone, вторая - meassage; var phone, message;

Регистр букв в имени переменной имеет значение. Т.е., например, переменная phone и Phone - это две разные переменные.

Если строгий режим не используется, то создать переменную с первоначальным значением можно и без ключевого слова var.

Price = 250.00; // создали переменную и инициализировали её числом 250.00 percent = "20%"; // создали переменную и инициализировали её строкой «20%»

Но создавать, таким образом, переменные не рекомендуется.

Типы данных

В JavaScript типы данных можно разделить на примитивные и объектные.

Переменные, содержащие примитивные типы данных хранят значение явно.

В JavaScript выделяют 5 примитивных типов данных:

  • число (number);
  • строка (string);
  • булевый тип (boolean);
  • null;
  • undefined.

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

Var x = 77, y = x; x = 55; y; // 77

Переменные, содержащие объект, на самом деле хранят не сам объект, а ссылку на него.

Если одной переменной присвоить значение другой, которая содержит объект (ссылку на него), то она тоже получит ссылку на него. В результате этой операции две эти переменные будут содержать ссылку на один и тот же объект.

// пример 1 (с типом данных «объект») var coord1 = {x: 77, y: 100}, coord2 = coord1; coord1.x = 55; // установим свойству x объекта новое значение coord2.x; // 55, т.к. coord1 и coord2 содержат ссылку на один и тот же объект // пример 2 (с типом данных «массив») var coord1 = , coord2 = coord1; coord1 = 55; // установим элементу с 0 индексом новое значение coord2; // 55, т.к. coord1 и coord2 содержат ссылку на один и тот же объект // пример 3 (с типом данных «дата») var date1 = new Date(2018,00,01), date2 = date1; date2 = date2.setDate(date2.getDate()+7); // увеличим дату на 7 дней date1; // 07.01.2018, т.к. date1 и date2 содержат ссылку на один и тот же объект

Число (number)

Числовой тип в JavaScript данных является универсальным . Он используется для представления, как целых , так и дробных чисел.

Var int = 5; // целое число var float = 5.98; // дробное число

Формат представления чисел в JavaScript осуществляется в соответствии со стандартом IEEE 754-2008.

Целые числа в JavaScript можно задавать не только в десятичной системе счисления, но и в восьмеричной (0) или шестнадцатеричной системе счисления (0x) с использованием префиксов, указанных в круглых скобках:

Var int = 010; // 8 int = 055; // 45 int = 0xFF; //255 int = 0xB8; // 184

Записывать числа возможно в экспоненциальной форме :

Var num = 2e3; // экспоненциальная запись числа 2*10^3 (2000) num = 2e-3; // экспоненциальная запись числа 2*10^-3 (0,002) num = 3.2e3; // 3200 num = 1.5e-2; // 0.015

Числовой тип данных кроме чисел содержит ещё специальные числовые значения :

  • Infinity (положительная бесконечность);
  • -Infinity (отрицательная бесконечность);
  • NaN (Not a Number – не число).

Специальное значения Infinity означает очень большое положительное число, т.е. число, которое не может быть представлено в JavaScript по причине того, что оно слишком велико.

Специальные значения -Infinity означает наоборот очень большое отрицательное число, т.е. число, которое не может быть представлено JavaScript по причине того, что оно тоже слишком велико.

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

5/0; // Infinity -5/0; // -Infinity Math.pow(10,399); // Infinity (10 в степене 399) Math.pow(10,399); // -Infinity (-10 в степене 399)

Значение NaN возвращается в результате выполнения математических операций, которые JavaScript не может вычислить.

5 - "Hi"; // NaN (от числа 5 отнять строку) 1000 / "20px"; // NaN (число поделить на строку) true * "1rem"; // NaN (логическое значение true умножить на строку)

При этом очень интересным является то, что значение NaN в JavaScript не равно ничему включая себя.

NaN == NaN; // false NaN === NaN; //false

Логический тип данных (Boolean)

Boolean – примитивный тип данных, который имеет всего два значения: true (истина) и false (ложь).

Var a = true; var b = false;

Строка (String)

Строка (String) – это тип данных, который используется в JavaScript для представления текста.

Строка JavaScript может состоять из 0 или большего количества символов.

В качестве формата строки в JavaScript всегда использутся кодировка Unicode.

Создание строки (литерала строки) выполняется посредством заключения текста в одинарные или двойные кавычки .

"JavaScript"; "ECMAScript";

В JavaScript нет разницы между одинарными и двойными кавычками.

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

Например, когда строка содержит двойные кавычки, её более удобно заключить в одинарные. Это избавит от необходимости экранирования в ней двойных кавычек.

""ECMAScript""; // без экранирования (с использованием одинарных кавычек) "\"ECMAScript\""; // с экранированием

Строка в JavaScript может содержать специальные символы. Например, \n (перевод строки), \t (табуляция), \r (возврат каретки) и др.

"Это предложение.\nА это тоже предложение, но оно будет начинаться с новой линии.";

Со строками можно произовдить операцию сложения (объединения) или другими словами конкатенацию. Для этого используется оператор "+". Сымысл данной операции заключается в присоединении второй строки к концу первой.

"Я люблю " + "JavaScript"; // Я люблю JavaScript

Значение "undefined"

undefined - специальный примитивный тип данных, который имеет одно значение, равное undefined .

Этот тип данных имеет объявленная переменная, которой ещё не присвоено значение.

Var num; // undefined

Значение undefined также будет возвращено при обращении к несуществующему свойству объекта.

Var obj = {}; // пустой объект obj.prop; // undefined

Значение "null"

null - специальный примитивный тип данных, который имеет одно значение, равное null .

null - это просто специальное значение, которое имеет смысл «ничего» или «неизвестное значение», т.е. оно явно ничего не означает.

Объект (Object)

Объект – это структура данных, состоящая из пар имя-значение.

Создание объекта с помощью нотации литерала объекта осуществляется следующим образом:

{ имя_1: значение_1, имя_2: значение_2, имя_3: значение_3, ... }

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

При этом если в качестве значения пары выступает функция, то она называется методом этого объекта. Все остальные пары, т.е. пары в которых в качестве значения не используется функция, называются свойствами объекта.

Другими словами, объект - это структура данных, состоящая из свойств и методов.

Var person = { name: "Виталий", age: 27, getAge: function () { return "Возраст: " + this.age; } }

Обращение к свойствам объекта выполняется через точку или посредством скобочной записи.

// выведем значение свойства age в консоль браузера // 1 способ (через точку) console.log(person.age); // 2 способ (с помощью скобок) console.log(person["age"]); // вызовем метод getAge; значение, которое он вернет, выведем в консоль console.log(person.getAge());

Оператор typeof

Оператор typeof используется для получения информации о типе данных выражения в виде строки.

Синтаксис оператора typeof (вариант без круглых скобок):

Typeof выражение

Синтаксис оператора typeof (с использованием круглых скобок):

Typeof(выражение)

Var name, age = 37, email = "[email protected]", isLicense = true, interest: null, lastExperience: { period: "June 2011 - June 2018", place: "ISACA, Moscow", position: "Web designer" }, getExperience: function() { return lastExperience.period + " ("+ lastExperience.position + " - " + lastExperience.place + ")"; }; typeof name; // "undefined" typeof age; // "number" typeof isLicense; // "boolean" typeof interest; // "object" (1) typeof lastExperience; // "object" typeof getExperience; // "function" (2) /* (1) - это ошибка, которая присутствует в языке, начиная с его первой реализации; она не была исправлена в целях сохранения совместимости и это необходимо учитывать, при написании сценариев; null - это примитивный тип данных, он не является объектом */ /* (2) - это очень удобно, что оператор typeof выделяет функции отдельно; но функция в JavaScipt - это тоже объект; в этом легко убедиться если выполнить следующую конструкцию: */ typeof getExperience.__proto__.__proto__ // "object" (прототипом функции является объект)

Константы

С выходом ECMAScript 6 появилось возможность создавать константы. Осуществляется это с помощью ключевого слова const.

Const COLOR_RED = "#ff0000";

Константа – это переменная, значение которой защищено от изменения. Т.е. при попытке поменять значение будет брошена ошибка.

Const COLOR_RED = "#ff0000"; COLOR_RED = "#f44336"; // Uncaught TypeError: Assignment to constant variable.

Если, например, константа содержит объект, то он не может быть изменен, а точнее ссылка на него. Но свойства этого объекта могут быть изменены.

Const COLORS = { red: "#ff0000", green: "#00ff00", blue: "#00ff00" } COLORS = ["#ff0000","#00ff00","#00ff00"]; // Uncaught TypeError: Assignment to constant variable. COLORS.green = "#4caf50";

В процессе работы компьютерные программы манипулируют значениями, такими как число 7 или текст "HelloWorld!". Каждое значение, которое может быть представлено и обработано в языке программирования относится к определённому типу данных . Тип данных определяет типы значений, которые используются в языке программирования.

В JavaScript типы данных можно разделить на две категории: простые (их также называют примитивными ) типы и составные (их также называют ссылочными или объекты ).

  • string - текстовые строки (обычно их называют просто - строки)
  • number - числа
  • boolean - логические (булевы) значения

Так же к простым типам относятся два специальных значения:

  • null
  • undefined

К составным типам данных относятся:

  • function - функции
  • array - массивы
  • object - объекты

Разница между простыми и составными типами

Разница между простыми и составными типами проявляется при копировании значений.

Когда переменной (параметру функции, свойству или элементу массива) присваивается значение простого типа, например число, то в переменную записывается само значение (в данном случае - число). При выполнении присваивания одной переменной (со значением простого типа) другой переменной происходит копирование значения. В результате каждая переменная имеет свою копию значения и изменения в одной из переменных никак не сказывается на значении другой:

Var num1 = 10; var num2 = num1; // Копируем значение alert("num1: " + num1 + // 10 "\nnum2: " + num2); // 10 num1 = 15; // Изменяем значение alert("num1: " + num1 + // 15 "\nnum2: " + num2); // 10

Когда переменной (параметру функции, свойству или элементу массива) присваивается значение составного типа, например объект, то в переменную записывается ссылка на значение (в данном случае - ссылка на объект). При выполнении присваивания одной переменной (в значении которой ссылка на составное значение) другой переменной происходит копирование ссылки на составное значение. В результате обе переменные ссылаются на одно и то же составное значение и любые внесённые изменения в значении одной из переменных будут сказываться на другой переменной:

Var o1 = {x:10}; var o2 = o1; // Копируем ссылку на объект alert("o1.x: " + o1.x + // 10 "\no2.x: " + o2.x); // 10 o2.x = 15; // Изменяем значение alert("o1.x: " + o1.x + // 15 "\no2.x: " + o2.x); // 15

null и undefined

Тип null имеет всего одно значение - null . Значение null является ссылкой на пустой объект и имеет специальное назначение - обычно оно используется для инициализации переменной, которой впоследствии будет присвоен объект.

Тип undefined имеет всего одно значение - undefined . Значение undefined указывает на изначальное отсутствие какого-либо значения. Получить значение undefined можно следующим образом:

  • При обращении к переменной, которая была объявлена, но не была инициализирована.
  • При обращении к несуществующему свойству объекта.
  • При обращении к несуществующему элементу массива.
  • При обращении к параметрам функции, которые не были инициализированы аргументами при вызове функции.
  • Возвращается функциями, которые не имеют возвращаемого значения.
  • Возвращается оператором typeof, если операндом является несуществующая переменная.
var bar; document.write(bar); Попробовать »

Идентификатор undefined является именем предопределённой глобальной переменной, которая инициализирована значением undefined . Переменная undefined доступна только для чтения.

Объекты обёртки

Каждый раз, когда в программе предпринимается попытка обратиться к свойству или методу значения примитивного типа, интерпретатор временно преобразует примитивное значение в объект соответствующего типа. Временные объекты, в которые преобразуются значения примитивного типа, называют объектами обёртками . Эти объекты используются интерпретатором для доступа к нужному свойству или методу. Сразу после обращения к свойству или методу объект обёртка уничтожается. Объекты обёртки создаются только для значений типа number , string и boolean . Значения null и undefined не имеют объектов оберток: любые попытки обратиться к свойствам этих значений будут вызывать ошибку.

Если для объекта обёртки попытаться установить новое свойство то, новое свойство не будет сохранено, так как объект обёртка уничтожается сразу после того, как выполнит свою работу:

Var str = "текст"; str.len = 5; // Установить свойство со значением. Сразу после этого объект уничтожается alert(str.len); // undefined, так как предыдущий объект обёртка уже уничтожен

Объекты обёртки можно рассматривать просто как реализацию удобства для работы со значениями примитивного типа и вообще не думать о них.

Урок №3
Типы данных в языке JavaScript

В прошлом уроке мы выяснили, что переменная — это именованная область памяти, которая хранит в себе какие-либо данные (значения).

У каждого значения в JavaScript, имеется свой тип данных . Всего в JavaScript существует 6 типов данных, в этом уроке по JavaScript, мы рассмотрим 4 типа данных:
— числовой тип данных number ,
— строковый тип данных string ,
— логический тип данных boolean ,
— неопределённый тип данных undefined .

Остальные два изучим чуть позже:
— объектный тип данных object
— пустой тип данных null

Оператор typeof

Прежде чем рассмотреть типы данных JavaScript , познакомимся сначала с оператором typeof , он позволяет узнать какой тип данных присвоен переменной, делается это следующим образом:

Alert(typeof имяПеременной);

После этого скрипт должен выдать какое-либо сообщение: number , string , boolean , undefined , object .

Тип данных: число (number)

Когда переменной, в качестве значения, присваивается какое-либо число (без кавычек) , её тип данных становится number

Var myNumber; myNumber = 5; alert(typeof myNumber);

В первой строке мы создали переменную с именем myNumber , во второй строке, присвоили переменной значение 5 , в третьей с помощью оператора typeof вычислили тип данных у переменной myNumber , а функция alert() показала нам результат этих вычислений.

В итоге, данный скрипт выведет нам сообщение number . Если число обрамить кавычками (одинарными "5" или двойными "5" ) , то оно превратится в строку string .

Тип данных: строка (string)

Когда переменной в качестве значения присваивается какое-либо значение, заключённое в двойные " " или одинарные кавычки " " , то её тип данных становится string .

Var myString; myString = "Привет, я строка JavaScript!"; alert(typeof myString);

В первой строке мы создали переменную с именем myString , во второй строке, присвоили переменной значение "Привет, я строка JavaScript!" , в третьей с помощью оператора typeof вычислили тип данных у переменной myString , а функция alert() показала нам результат этих вычислений. В итоге, данный скрипт должен вывести нам сообщение string .

Тип данных: логический тип данных (boolean)

Когда переменной в качестве значения присваивается true или false , без кавычек , то её тип данных становится boolean .

Тип данных boolean — это логический тип данных, он имеет всего два значения: true (правда) или false (ложь) .

Var myBoolean; myBoolean = true; alert(typeof myBoolean);

В первой строке мы создали переменную с именем myBoolean , во второй строке, присвоили переменной значение true , в третьей с помощью оператора typeof вычислили тип данных у переменной myBoolean , а функция alert() показала нам результат этих вычислений. В итоге, данный скрипт должен вывести нам сообщение boolean .

Логический тип данных, мы изучим более подробно в следующих уроках, посвящённых операциям сравнения, логическим операциям и оператору ветвления if

Тип данных: undefined

Тип данных undefined появляется тогда, когда переменная объявлена, но не инициализирована, т.е. переменная создана, но значения ей не присвоили.

Var myUndefined; alert(typeof myUndefined);

В первой строке мы создали переменную с именем myUndefined , во второй строке с помощью оператора typeof вычислили тип данных у переменной myUndefined , а функция alert() показала нам результат этих вычислений. В итоге, данный скрипт должен вывести нам сообщение undefined .

Доступ к значению переменной

Чтобы получить доступ, к значению переменной, нужно обратиться к ней по имени:

// объявляем переменные var myString; var myNumber; // инициализируем переменные myString = "Привет, МИР!"; myNumber = 5; // обращаемся к переменным alert(myString); alert(myNumber);

В первой и второй строках кода мы создали переменные myString и myNumber , в третьей и четвёртой строках присвоили переменным значения "Привет, МИР!" и 5 , в пятой и шестой строках с помощью функции alert() вывели результаты Привет, МИР! и 5

Они делятся на встроенные и пользовательские (определяемые программистом).

Литералы - данные, непосредственно используемые в программе. Литералы могут быть разных типов.

  • Числовые литералы: 10 2.310 2.3е+2
  • Строковый литерал: "Строковый" "Строковый"

Литералы используются в операциях присваивания:

Присваивание выполняется справа налево:

Экранирование кавычек в тексте знаком "/"".

Переменные

Объявление переменных происходит через var, можно определять через запятую, присваивая ей значение или нет.

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

Для определения типа переменой существует оператор typeof() ;

Области видимости

Объявление с var вне функции делает переменную глобальной.

Объявление var внутри функции делает переменную локальной.

Конфликт локальных и глобальных переменных

Будет выдано 7, так как в блоке вывода фигурирует глобальная переменная.

Примечание, при объявлении можно var не писать.

Отсутвие var в функции, делает переменную конструктора.

Нестандартный пример с неожиданным выводом

Будет выведено 5, так как вызов f(3) изменил значение переменной k.

Массивы

Массивы делятся на встроенные, называемые коллекциями, и пользовательские.

Для определения пользовательского используется конструктор Array.

Элементы нумеруются с 0. Не могут быть многомерными. Но может быть массив массивов.

Методы по работе с массивами

Метод join() объединяет элементы массива в строку.

Обратный метод split() рабивает сроку на элементы массива по разделителю.

Полученный массив

Меняем значения у 0 и 1 элементов массива:

Склеим получившиеся значения:

Метод reverse()

Метод reverse() применяется для изменения порядка элементов массива на противоположный. Инициализируем массив: Упорядочим его в обратном порядке, вызвав метод reverse(), тогда новый массив будет содержать:

Метод sort()

Метод sort() интерпретирует элементы массива как строковые литералы и сортируем массив в алфавитном (лексикографическом) порядке. Метод sort() меняет массив. В предыдущем примере, применив a.sort, получим: Если необходимо отсортировать числа, в функцию sort() добавляется необязательный аргумент, являющийся именем функции, удовлетворяющей следующим требованиям:
  • у нее должно быть два аргумента
  • она должна возвращать число
  • если первый аргумент функции должен считаться меньшим (большим, равным), чем второй аргумент, то функция должна возвратить отрицательное (положительное, ноль) значение

Функция имеет вид:

Если нам необходимо сортировать числа, то мы можем использовать следующую функцию:

Для примера создадим массив \(b = new Array(10,6,300,25,18)\) и сравним результаты сортировки без аргумента и с функцией compar в качестве аргумента: \(Алфавитный порядок:)\) \(10, 18, 25, 300, 6)\) \(Числовой порядок:)\) \(6, 10, 18, 25, 300)\) Метод sort() понимает элементы массива как строки, но не преобразует их в строки.

Операторы

  • {...}
  • if ... else ...
  • while
  • break
  • continue
  • return

{...}

Фигурные скобки определяют составной оператор - блок.

Назначение - определение тела цикла, тело условного оператора или функции.

if ... else ...

Условный оператор применяется для ветвления программы по логическому условию. Есть два варианта синтаксиса:

Пример использования:

()?

Этот оператор называется условным выражением, выдает одно из двух значений в зависимости от выполнения некоторого условия. Синтаксис: Является альтернативой if...else... . Следующие примеры равносильны:

while

Оператор while задает цикл. Определяется следующим образом: Формально, цикл while работает следующим образом:
  • выполняем тело_цикла;
  • переходим к п.1.
  • Такой цикл используется, когда заранее неизвестно количество итераций, например, в ожидании некоторого события. Пример:

    for

    Оператор for - оператор цикла. Он имеет вид: Цикл работает следующим образом:
    1. выполняется инициализация_переменных_цикла;
    2. проверяется условие_продолжения цикла:
    • если оно ложно (false), цикл закончен,
    • если же оно истинно (true), продолжаем далее
  • выполняем тело_цикла;
  • выполняется модификация_переменных_цикла
  • переходим к п.1.
  • Пример использования: Math - втроенный объект, предоставляющий многочисленные математические константы и функции, а Math.pow(n,m) вычисляет степенную функцию \(n^{m}\).

    break

    Оператор break позволяет дострочно покинуть тело цикла. Изменим пример с кубами чисел, распечатаем только кубы, не превышающие 5000. Несмотря на то,что переменную n мы заставили пробегать от 1 до 100, т.е. заведомо с запасом, реально же цикл выполнится для значений от 1 до k, где k - номер последней итерации в данном случае.

    continiue

    Оператор continue позволяет перейти к следующей итерации цикла, пропустив выполнение всех нижестоящих операторов в теле цикла.Если нам нужно вывести кубы чисел от 1 до 100, превышающие 10 000, то мы можем составить такой цикл:

    return

    Оператор return используют для возврата значения из функции или обработчика события. Оператор return не только указывает, какое значение должна вернуть функция, но и прекращает выполнение дальнейших операторов в теле функции. При использовании в обработчиках событий оператор return позволяет отменить или не отменять действие по умолчанию, которое совершает браузер при возникновении данного события. Отменить его, однако, можно не для всех событий. В этом примере без оператора return false пользователь увидел бы окно предупреждения "Не отправим!" и далее был бы перенаправлен на страницу newpage.html. Оператор же return false позволяет отменить отправку формы, и пользователь лишь увидит окно предупреждения. Аналогично, чтобы отменить действие по умолчанию для параметров событий onClick, onKeyDown, onKeyPress, onMouseDown, onMouseUp, onSubmit, onReset, нужно использовать return false. Для события onMouseOver с этой же целью нужно использовать оператор return true. Для некоторых же событий, например onMouseOut, onLoad, onUnload, отменить действие по умолчанию невозможно.

    String, Number, Boolean, Array, Object.

    Типы данных JavaScript

    Переменные JavaScript может содержать множество типов данных: numbers, strings, arrays, objects и многое другое:

    var length = 16; // Number
    var lastName = "Johnson"; // String
    var cars = ["Saab", "Volvo", "BMW"]; // Array
    var x = {firstName:"John", lastName:"Doe"}; // Object

    Концепция типов данных

    В программировании, типы данных является важным понятием.

    Для того, чтобы иметь возможность работать с переменными, важно знать, что-то о типе.

    Без типов данных, компьютер не может безопасно решить эту проблему:

    Var x = 16 + "Volvo";

    Имеет ли смысл добавить "Volvo" до шестнадцати? Будет ли выдавать ошибку или он будет производить результат?

    JavaScript будет рассматривать приведенный выше пример, как:

    Var x = "16" + "Volvo";

    При добавлении числа и строки, JavaScript будет рассматривать номер как строку.

    JavaScript вычисляет выражения слева направо. Различные последовательности могут привести к разным результатам:

    В первом примере, JavaScript обрабатывает 16 и 4 , как числа, до тех пор, пока не достигнет "Volvo" .

    Во втором примере, так как первый операнд является строкой, то все операнды обрабатываются как строки.

    JavaScript имеет динамические типы

    JavaScript имеет динамические типы. Это означает, что та же переменная может использоваться в качестве различных типов:

    пример

    var x; // Now x is undefined
    var x = 5; // Now x is a Number
    var x = "John"; // Now x is a String

    JavaScript Строки

    Строка (или текстовая строка) представляет собой серию символов, как "John Doe" .

    Строки написаны в кавычках. Вы можете использовать одинарные или двойные кавычки:

    пример

    var carName = "Volvo XC60"; // Using double quotes
    var carName = "Volvo XC60"; // Using single quotes

    Вы можете использовать кавычки внутри строки, до тех пор, пока они не совпадают кавычки вокруг строки:

    пример

    var answer = "It"s alright"; // Single quote inside double quotes
    var answer = "He is called "Johnny""; // Single quotes inside double quotes
    var answer = "He is called "Johnny""; // Double quotes inside single quotes

    Попробуй сам "

    Вы узнаете больше о строках позже в этом руководстве.

    JavaScript Числа

    JavaScript имеет только один тип чисел.

    Числа могут быть записаны, или без десятичных знаков:

    пример

    var x1 = 34.00; // Written with decimals
    var x2 = 34; // Written without decimals

    Очень большие или экстра маленькие числа могут быть написаны с научной (экспоненциальной) нотации:

    Вы узнаете больше о числах позже в этом руководстве.

    JavaScript Booleans

    Булев может иметь только два значения: истина или ложь.

    пример

    var x = true;
    var y = false;

    Booleans часто используются в условном тестировании.

    Вы узнаете больше об условном тестировании позже в этом руководстве.

    Массивы JavaScript

    массивы JavaScript записываются с помощью квадратных скобок.

    элементы массива разделяются запятыми.

    Следующий код объявляет (создает) массив называется автомобилей, содержащий три пункта (названия автомобиля):

    Индексы массивов начинаются с нуля, что означает, что первый элемент , вторая , и так далее.

    Вы узнаете больше о массивах позже в этом руководстве.

    Объекты JavaScript

    Объекты JavaScript записываются в фигурные скобки.

    Свойства объекта записываются в виде имя: пар значений, разделенных запятыми.

    Объект (человек) в приведенном выше примере имеет 4 свойства: firstName, lastName, age и eyeColor .

    Вы узнаете больше об объектах позже в этом руководстве.

    TypeOf Оператор

    Вы можете использовать код JavaScript typeof оператора, чтобы найти тип переменной JavaScript:

    пример

    typeof "John" // Returns string
    typeof 3.14 // Returns number
    typeof false // Returns boolean
    typeof // Returns object
    typeof {name:"John", age:34} // Returns object