вторник, 23 мая 2017 г.

Sorax. 4. Типы данных и переменные

Для объявления переменных используют ключевое слово var, после которого идет идентификатор, который будет являться именем нашей переменной.
Инструкция с ключевым словом var является инструкцией объявления или Declaration Statement. В такой инструкции мы можем объявлять несколько переменных через запятую.
var myVariable, myAnotherVariable;


Мы можем сразу инициализировать переменные, т.е задавать первичные значения переменным.
var myVariable = 20, myAnotherVariable = 30;

После того, как мы объявили переменные, мы можем обращаться к ним, где угодно в нашей программе.

Имя переменной не может начинаться с цифры. Это сделано, чтобы парсеру было проще различать идентификаторы и числа.
Можно: _var, $var, var6
В JS есть список зарезервированных слов, которые нельзя использовать в качестве идентификаторов.
JS чувствителен к регистру, поэтому myvar и myVar – это разные идентификаторы.

Типы данных можно разделить на простые и объектные.
Простых типов данных 5 штук:
числа - литерал
строки - литерал
логические значения true/ false - литерал
null - литерал
undefined – идентификатор
А все остальные — литералы.

При именовании переменных используют верблюжью нотацию anotherVar. Это хороший тон языка.

Для определения типа выражения используют унарный оператор typeof(myVariable) // number

Ошибка JS – typeof определяет значение null, как объект.

Объекты
К ним относятся объекты, массивы, регулярные выражения, функции.
var obj = {name: "sorax"},
array = [1,2,3],
regexp = /w+/g,
func = function(){};

// Выведем типы этих переменных
console.log(typeof obj); // ojbject
console.log(typeof array); // ojbject
console.log(typeof regexp); // ojbject
console.log(typeof func); // function

JS — язык с динамической типизацией. Это означает, что тип переменной определяется автоматически интерпритатором в зависимости от присвоенного ей значения. Поэтому переменные в JS не имеют типа. Мы можем присвоить переменной другой тип.
В JS есть автоматическая конвертация типов.
Типы бывают изменяемые и неизменяемые. Все простые типы неизменяемы.

// изменим имя объекта
obj.name = "star";
array[1] = 325;
console.log(array); // Array [ 1, 325, 3 ]

// мы не можем изменить строку.
var myString = "Some string";
console.log(myString.toUpperCase()); // SOME STRING. Это уже новая строка.


console.log(myString); // выведем строку еще раз и убедимся, что она не изменилась.


Оператор присваивания - оператор с побочным эффектом.
Его побочным эффектом является запись в переменную какого-либо значения.
var a;
a = 5;

// Если в одном выражении несколько присваиваний, то они будут вычисляться справа налево.
var b, c, d;
b = c = d = 5;

Комментариев нет:

Отправить комментарий