Что означает в jscript
Выражения и операторы
Эта глава описывает все операторы, выражения и ключевые слова языка JavaScript.
Выражения и операторы по категориям
Алфавитный список смотрите в боковой панели слева.
Первичные выражения
Базовые ключевые слова и общие выражения в JavaScript.
this Ключевое слово this ссылается на контекст выполняемой функции. function Ключевое слово function определяет выражение функции. class Ключевое слово class определяет выражение класса. function* Ключевое слово function* (со звёздочкой) определяет функцию-генератор. yield Пауза или продолжение выполнения функции-генератора. yield* Делегирует выполнение другому генератору итерируемому объекту. async function* async function определяет выражение асинхронной функции. await Пауза и продолжение выполнения асинхронной функции и ожидание Promise (результата выполнения) с результатом разрешено/отклонено. [] Синтаксис создания инициализатора/литерала массива. <> Синтаксис создания инициализатора/литерала объекта /ab+c/i Синтаксис создания литерала регулярного выражения. ( ) Оператор группировки.
Левосторонние выражения
Значения слева являются назначением присваивания.
Инкремент и декремент
Операторы постфиксного/префиксного инкремента и декремента.
Унарные операторы
Унарные операции — это операции с одним операндом.
Арифметические операторы
Арифметические операторы своими операндами принимают числовые значения (литералы или переменные) и возвращают одно числовое значение.
Реляционные операторы
in Оператор in определяет, содержит ли объект указанное свойство. instanceof Оператор instanceof определяет, является ли объект экземпляром потомком Prototype (или экземпляром) другого объекта. (en-US) Оператор меньше. > (en-US) Оператор больше. (en-US) Оператор меньше или равно. >= (en-US) Оператор больше или равно.
Заметьте: => это не оператор. Это нотация для Стрелочных функций.
Операторы равенства
Результат вычисления оператора равенства всегда имеет тип Boolean и значение, зависящее от того, был ли результат проверки истинным или ложным.
Операторы побитового сдвига
Операции для сдвига всех битов операнда.
(en-US) Оператор побитового сдвига влево. >> (en-US) Оператор знакового побитового сдвига вправо. >>> (en-US) Оператор беззнакового побитового сдвига вправо.
Бинарные побитовые операторы
Побитовые операторы трактуют свои операнды как набор из 32 битов (нулей и единиц) и возвращают стандартные числовые значения JavaScript.
& (en-US) Оператор побитового И. | (en-US) Оператор побитового ИЛИ. ^ (en-US) Оператор побитового ИСКЛЮЧАЮЩЕГО ИЛИ.
Бинарные логические операторы
Логические операторы обычно используются вместе с булевыми (логическими) значениями и в сочетании с ними они возвращают булево значение.
&& (en-US) Оператор логического И. || (en-US) Оператор логического ИЛИ.
Условный (тернарный) оператор
Операторы присваивания
Операторы присваивания присваивают значение своему левому операнду, зависящее от значения их правого операнда.
Операторы Javascript
В JavaScript существует множество различных операторов: арифметические операторы, операторы присваивания, строковые операторы, операторы сравнения, логические операторы, операторы типов, побитовые операторы.
Оператор присваивания (=) присваивает значение переменной:
Оператор сложения (+) складывает числа:
Оператор умножения (*) перемножает числа:
Арифметические операторы JavaScript
Арифметические операторы используются для выполнения арифметических операций с числами:
Оператор | Описание |
---|---|
+ | Сложение |
— | Вычитание |
* | Умножение |
/ | Деление |
% | Остаток от деления |
++ | Увеличение на 1 |
— | Уменьшение на 1 |
Операторы присваивания JavaScript
Операторы присваивания присваивают значения переменным JavaScript.
Строковые операторы JavaScript
Оператор сложения (+) также может использоваться для объединения (конкатенации) строк.
Также, для конкатенации строк можно использовать оператор присваивания +=:
При использовании со строками оператор + еще называют оператором конкатенации.
Сложение строк и чисел
Сложение двух чисел вернет сумму этих чисел, однако сложение числа и строки вернет строку:
В результате в переменных x, y, z мы получим 10, 55, Hello5 соответственно.
Помните! Если сложить число и строку, в результате получится строка!
Операторы сравнения JavaScript
Оператор | Описание | ||||
---|---|---|---|---|---|
== | равно | ||||
=== | равно по значению и типу | ||||
!= | не равно | ||||
!== | не равно по значению и типу | ||||
> | больше чем | ||||
= | больше или равно | ||||
> | Побитовый сдвиг вправо со знаком | 5 >> 1 | 0101 >> 1 | 10 | 2 |
>>> | Побитовый сдвиг вправо | 5 >>> 1 | 0101 >>> 1 | 10 | 2 |
Внимание! В примерах в таблице выше приведены 4-битные числа без знака. В действительности же JavaScript использует 32-битные числа со знаком. Таким образом, в JavaScript выражение
00000000000000000000000000000101 возвращает 11111111111111111111111111111010.
3.1. Основы JavaScript
JavaScript создавался как скриптовый язык для браузеров Netscape. Компания Microsoft также признала его потенциал и включила под именем JScript в Internet Explorer 3, обеспечив частичную поддержку стандартов языка, что привело в итоге к неразберихе со стандартами и версиями JavaScript. Поэтому Netscape, Microsoft и другие заинтересованные компании обратились в организацию ECMA (Европейская ассоциация производителей компьютеров), где была одобрена первая спецификация языка ECMA-262. В связи с тем, что название «JavaScript» являлось зарегистрированным товарным знаком, для нового стандарта было решено использовать ECMAScript (или сокращенно ES). ECMAScript изначально был разработан для использования в качестве языка сценариев, но позже стал широко использоваться в качестве языка программирования общего назначения.
В основу создания JavaScript была положена идея динамического управления объектами HTML-документов без перезагрузки текущей страницы (так называемые бессерверные сценарии). Со временем возможности языка расширились:
Что такое JavaScript?
1) JavaScript — язык сценариев, или скриптов. Скрипт представляет собой программный код — набор инструкций, который не требует предварительной обработки (например, компиляции) перед запуском. Код JavaScript интерпретируется движком браузера во время загрузки веб-страницы. Интерпретатор браузера выполняет построчный анализ, обработку и выполнение исходной программы или запроса.
2) JavaScript — объектно-ориентированный язык с прототипным наследованием. Он поддерживает несколько встроенных объектов, а также позволяет создавать или удалять свои собственные (пользовательские) объекты. Объекты могут наследовать свойства непосредственно друг от друга, образуя цепочку объект-прототип.
JavaScript на веб-страницах
1. Подключение сценариев к html-документу
1.1. В виде гиперссылки
Для этого нужно разместить код в отдельном файле и включить ссылку на файл в заголовок
Этот способ обычно применяется для сценариев большого размера или сценариев, многократно используемых на разных веб-страницах.
1.2. В виде обработчика события
Каждый html-элемент имеет JavaScript-события, которые срабатывают в определенный момент. Нужно добавить необходимое событие в html-элемент как атрибут, а в качестве значения этого атрибута указать требуемую функцию. Функция, вызываемая в ответ на срабатывание события, является обработчиком события. В результате срабатывания события исполнится связанный с ним код. Этот способ применяется в основном для коротких сценариев, например, можно установить смену цвета фона при нажатии на кнопку:
Логические операторы
Несмотря на своё название, данные операторы могут применяться к значениям любых типов. Полученные результаты также могут иметь различный тип.
Давайте рассмотрим их подробнее.
Оператор «ИЛИ» выглядит как двойной символ вертикальной черты:
В JavaScript, как мы увидим далее, этот оператор работает несколько иным образом. Но давайте сперва посмотрим, что происходит с булевыми значениями.
Существует всего четыре возможные логические комбинации:
Если значение не логического типа, то оно к нему приводится в целях вычислений.
Обычно оператор || используется в if для проверки истинности любого из заданных условий.
Можно передать и больше условий:
ИЛИ «||» находит первое истинное значение
Описанная выше логика соответствует традиционной. Теперь давайте поработаем с «дополнительными» возможностями JavaScript.
Расширенный алгоритм работает следующим образом.
При выполнении ИЛИ || с несколькими значениями:
Оператор || выполняет следующие действия:
Значение возвращается в исходном виде, без преобразования.
Другими словами, цепочка ИЛИ «||» возвращает первое истинное значение или последнее, если такое значение не найдено.
Это делает возможным более интересное применение оператора по сравнению с «чистым, традиционным, только булевым ИЛИ».
Получение первого истинного значения из списка переменных или выражений.
Сокращённое вычисление.
Операндами могут быть как отдельные значения, так и произвольные выражения. ИЛИ вычисляет их слева направо. Вычисление останавливается при достижении первого истинного значения. Этот процесс называется «сокращённым вычислением», поскольку второй операнд вычисляется только в том случае, если первого недостаточно для вычисления всего выражения.
Это хорошо заметно, когда выражение, указанное в качестве второго аргумента, имеет побочный эффект, например, изменение переменной.
В приведённом ниже примере x не изменяется:
Присваивание – лишь один пример. Конечно, могут быть и другие побочные эффекты, которые не проявятся, если вычисление до них не дойдёт.
Как мы видим, этот вариант использования || является «аналогом if «. Первый операнд преобразуется в логический. Если он оказывается ложным, начинается вычисление второго.
Оператор И пишется как два амперсанда && :
Что означает в jscript
Учебник по арифметическим операторам Читайте в Учебник по арифметике JavaScript.
Операторы присваивания JavaScript
Операторы присваивания используются для присвоения значений переменным JavaScript.
Учитывая, что x = 10 и y = 5, в таблице ниже объясняются операторы присваивания:
Учебник по операторам присваивания Читайте в Учебник по назначению JavaScript.
Операторы строки JavaScript
Оператор + и оператор + = можно также использовать для сцепления (Add) строк.
Учитывая, что Text1 = «хорошо», Text2 = «утро», и текст3 = «», в таблице ниже объясняет операторы:
Оператор | Пример | text1 | text2 | text3 | Запуск |
---|---|---|---|---|---|
+ | text3 = text1 + text2 | «Good « | «Morning» | «Good Morning» | |
+= | text1 += text2 | «Good Morning» | «Morning» | «» |
Операторы сравнения
Операторы сравнения используются в логических инструкциях для определения равенства или разницы между переменными или значениями.
Учитывая, что x = 5, таблица ниже объясняет операторы сравнения:
Условный (тройной) оператор
Условный оператор присваивает значение переменной, основанной на условии.
Логические операторы
Логические операторы используются для определения логики между переменными или значениями.
Учитывая, что x = 6 и y = 3, в таблице ниже объясняются логические операторы:
Оператор | Описание | Пример | Запуск |
---|---|---|---|
&& | and | (x 1) is true | |
|| | or | (x === 5 || y === 5) is false | |
! | not | !(x === y) is true |
Побитовые операторы JavaScript
Битовые операторы работают с номерами 32 бит. Любой числовой операнд в операции преобразуется в число 32 бит. Результат преобразуется обратно в номер JavaScript.
Оператор | Описание | Пример | Same as | Результат | Десятичных |
---|---|---|---|---|---|
& | AND | x = 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | x = 5 | 1 | 0101 | 0001 | 0101 | 5 |
1010 | 10 | ||||
^ | XOR | x = 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
> | Right shift | x = 5>> 1 | 0101>> 1 | 0010 | 2 |
В приведенных выше примерах используются 4 бита неподписанных примеров. Но JavaScript использует 32-битные номера со знаком.
Из-за этого, в JavaScript,
5 не вернет 10. Он вернется-6.
00000000000000000000000000000101 вернет 11111111111111111111111111111010
Оператор typeof
Оператор typeof Возвращает тип переменной, объекта, функции или выражения:
Пример
Пожалуйста, обратите внимание:
Оператор DELETE
Оператор Delete Удаляет свойство из объекта:
Пример
Оператор DELETE удаляет как значение свойства, так и само свойство.
После удаления свойство нельзя использовать перед добавлением обратно.
Оператор Delete предназначен для использования в свойствах объекта. Он не влияет на переменные или функции.
Примечание: Оператор DELETE не должен использоваться в предопределенных свойствах объекта JavaScript. Это может аварийно завершить работу приложения.
Оператор in
Оператор in возвращает значение true, если указанное свойство находится в указанном объекте, в противном случае — значение false:
Пример
// Arrays
var cars = [«Saab», «Volvo», «BMW»];
«Saab» in cars // Returns false (specify the index number instead of value)
0 in cars // Returns true
1 in cars // Returns true
4 in cars // Returns false (does not exist)
«length» in cars // Returns true (length is an Array property)
// Objects
var person =
«firstName» in person // Returns true
«age» in person // Returns true
// Predefined objects
«PI» in Math // Returns true
«NaN» in Number // Returns true
«length» in String // Returns true
Оператор instanceof
Оператор instanceof возвращает значение true, если указанный объект является экземпляром заданного объекта:
Пример
var cars = [«Saab», «Volvo», «BMW»];
cars instanceof Array; // Returns true
cars instanceof Object; // Returns true
cars instanceof String; // Returns false
cars instanceof Number; // Returns false