JavaScript: переменные, константы, тип данных и зарезервированные слова

Переменные JavaScript

В школьной жизни мы узнали о переменных и уравнениях в алгебре. Предположим, что a = 30, b = 12 и c = a-b, тогда c = 18, т.е. такие переменные, как a, b, c, хранят числа. В JavaScript и других языках программирования переменные содержат значения (часть информации) и хранятся в памяти компьютера, которую можно изменять.

Стандарт: ECMA-262

Содержание:

  • Допустимые имена идентификаторов JavaScript, недопустимые/допустимые переменные
  • Разумный подход к объявлению переменных JavaScript
  • Подъем
  • Оценка переменных
  • JavaScript: тип данных
  • JavaScript: выражения
  • JavaScript: зарезервированные слова

Допустимые имена идентификаторов

  • Первым символом должен быть UnicodeLetter, знак подчеркивания (_), знак доллара ($) или UnicodeEscapeSequence
  • Остальная часть имени может состоять из начального символа, UnicodeCombiningMark, UnicodeDigit, UnicodeConnectorPunctuation, ,
  • Имя переменной не может содержат пробел.
  • В JavaScript переменные чувствительны к регистру, поэтому emp_code отличается от Emp_Code.
  • Мы не должны использовать «зарезервированные слова», такие как alert, var, в качестве имени переменной. См. Список зарезервированных слов.

UnicodeLetter: прописная буква (Lu), строчная буква (Ll), заглавная буква (Lt), модифицирующая буква (Lm), другая буква (Lo). ) или буквенное число (Nl).

UnicodeCombiningMark: знак без интервала (Mn), знак объединения интервалов (Mc).

UnicodeDigit: десятичный разряд ( Nd), пунктуация коннектора (Pc).

UnicodeEscapeSequence: escape-последовательности Unicode также разрешены в IdentifierName, где они содержат один символ.

Недействительное имя переменной

  • var//var — зарезервированное слово.
  • 77employee//Начальный символ — число.
  • Переменная% name//Символ% недопустим.
  • Имя и код//& недопустимы.

Допустимое имя переменной

  • employee_77
  • Имя_переменной
  • x
  • Name_code
  • name_code
  • _emp_name

Проверка допустимости переменной.

Наиболее разумный подход к объявлению переменных JavaScript

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

 //Плохая практика var foo = 1, bar = 2; var baz; var pony; var x, y;//-----------  ------------------- var foo = 1; if (foo> 1) {var bar = 2;}//Хорошая практика var foo = 1; var bar = 2;  var baz; var pony; var x; var y;//------------------------------ var foo = 1; var  bar; if (foo> 1) {bar = 2;}  

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

 //badsuperPower = new SuperPower ();//goodvar superPower = new SuperPower ();  

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

//badvar i, len, dragonball, items = getItems (), goSportsTeam = true; //плохо var i; var items = getItems (); var dragonball; var goSportsTeam = true; var len;//хорошо var items = getItems (); var goSportsTeam = true; var dragonball; var length; var i; 

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

 //badfunction () {test ();  console.log ('что-то делаю ...'); //..другие вещи .. var name = getName ();  если (имя === 'тест') {вернуть ложь;  } return name;}//хорошая функция () {var name = getName ();  контрольная работа();  console.log ('что-то делаю ...'); //..другие вещи .. if (name === 'test') {return false;  } return name;}//плохо - ненужный вызов функции function () {var name = getName ();  если (! arguments.length) {вернуть ложь;  } this.setFirstName (имя);  return true;}//хорошая функция () {var name;  если (! arguments.length) {вернуть ложь;  } имя = getName ();  this.setFirstName (имя);  return true;}  

Подъем

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

 //мы знаем, что это не сработает (если//не существует глобальной переменной notDefined) function example () {console.log (notDefined); //=> выбрасывает ReferenceError}//создание объявления переменной после//ссылки на переменную будет работать из-за//подъема переменной.  Примечание: присвоенное//значение `true` не поднимается. Function example () {console.log (declaredButNotAssigned); //=> undefined varhibitedButNotAssigned = true;}//Интерпретатор поднимает объявление//переменной в верхнюю часть области видимости,//что означает, что наш пример можно переписать как: function example () {varhibitedButNotAssigned;  console.log (объявленныйButNotAssigned); //=> undefined definedButNotAssigned = true;}  

Выражения анонимной функции поднимают имя своей переменной, но не назначение функции.

  пример функции () {console.log (анонимно); //=> undefined anonymous (); //=> Анонимная ошибка TypeError не является функцией var anonymous = function () {console. log ('выражение анонимной функции');  };}  

Выражения именованных функций поднимают имя переменной, а не имя функции или тело функции.

  пример функции (  ) {console.log (имя); //=> undefined named (); //=> Указанная ошибка TypeError не является функцией superPower (); //=> ReferenceError superPower не определена var named = function superPower () {console.log ('Flying');  };}//то же самое верно, если имя функции//совпадает с именем переменной. function example () {console.log (named); //=> undefined named (); //=> TypeError с именем не является функцией var named = function named () {console.log ('named');  }}  

Оценка переменных

Переменная или элемент массива, не было присвоено значение, имеет значение undefined. Результат оценки неназначенной переменной зависит от того, как она была объявлена:

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

Если неназначенная переменная объявлена ​​без оператора var, оценка приведет к ошибке времени выполнения.

См. следующие операторы:

  var x;  print ("Значение x:" + x); //выводит «Значение x: undefined» print («Значение y:» + y); //выдает исключение ссылочной ошибки  

Вы можете использовать undefined, чтобы определить, имеет ли переменная значение.

В следующих инструкциях переменная x равна не присвоено значение, и оператор if принимает значение true.

  var x; if (x === undefined) {делать что-нибудь;} else {делать что-нибудь;}  

Использование переменных:

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

Вы можете дополнительно объявить глобальную переменную с помощью var (например, var empCode). Однако вы должны использовать var для объявления переменной внутри функции.

Как проверить, существует ли переменная в javascript?

Чтобы проверить, определена ли переменная, вы можете использовать оператор typeof. Следующее предупреждение вернет «undefined», т.е. переменная «abc» не определена.

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

  if (typeof abc === 'undefined'  ) {//переменная abc не определена}  

JavaScript: Константы

В JavaScript константы объявляются с ключевое слово const и назначается во время объявления. Константа может быть глобальной или локальной для функции, в которой она объявлена ​​

Константы доступны только для чтения, поэтому вы не можете изменять их позже.

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

Если ключевое слово опущено, предполагается, что идентификатор представляет переменную.

Пример:

  const country = 'India';//Вы не можете объявить константу с тем же именем, что и функция//или переменная  в том же объеме.  Следующие инструкции создают ошибку. Function abc () {const abc = 55;  } функция abc () {const x = 15;  var x;  }  

JavaScript: тип данных

Значение — это часть информации, которая может быть числом, строкой , Boolean, Null и т. Д. JavaScript распознает следующие типы значений.

Типы Описание Пример
Строка Серия символов, заключенная в кавычки. Строка должна быть разделена кавычками одного типа: одинарными кавычками (‘) или двойными кавычками («). » google.com «,’ yahoo.com ‘
Числа Любое числовое значение. Числа могут быть как положительными, так и отрицательными. 45, 45887, -45, 12.23, -145.55
Logical (Boolean) Логическое истинное или ложное. условие истинно или ложно. true, false
null Специальное ключевое слово обозначает нулевое значение (т.е. пустое значение или ничего). Поскольку JavaScript чувствителен к регистру, null не то же самое, что Null, NULL или любой другой вариант.
undefined Свойство верхнего уровня, значение которого не определено, undefined также является примитивным значением.

JavaScript: преобразование типов данных

JavaScript — это язык с динамической типизацией. Поэтому существует нет необходимости указывать данные тип переменной на момент ее объявления. Типы данных при необходимости преобразуются автоматически во время выполнения скрипта.

Например, мы определяем возраст человека в переменной age следующим образом:

  var age = 21  

Позволяет сохранить строковое значение в указанной переменной.

  age = "Какой у вас  age? " 

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

JavaScript: Expressions

Следующие выражения содержат строковые значения, числовые значения и оператор +. JavaScript преобразует числовые значения в строки.

  x = "Сколько вам лет?"  + 21//возвращает "Сколько вам лет? 21" y = 21 + "- мой возраст."//возвращает "21 - мой возраст. " 

Следующие выражения содержат операторы + и .

 " 21 "-  7//возвращает 14 "21" + 7//возвращает "217" "21" + "7"//возвращает "217"  

Следующие выражения содержат * и /.

  "21" * 7//возвращает 147 "21"/7//возвращает 3  

JavaScript: escape-последовательности Unicode

Escape Sequence Значение единицы кода Имя Символ
b u0008 backspace
t u0009 горизонтальная вкладка
n u000A перевод строки (новая строка)
v u000B вертикальная вкладка
f u000C подача формы
r u000D возврат каретки
« u0022 двойная кавычка »
u0027 одинарная кавычка
\ u005C обратная косая черта

JavaScript: зарезервированные слова

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

Список зарезервированных слов:

break для throw
case function попробуйте
catch if typeof
continue in var
по умолчанию instanceof void
delete новый while
do return с
else switch
наконец это

Следующие слова зарезервированы в качестве будущих ключевых слов:

abstract экспорт long синхронизированный
логический расширяет native throws
byte final package transient
char float частный volatile
class goto protected
const реализует public
отладчик import short
double int static
enum interface super

Оцените статью
nanomode.ru
Добавить комментарий