Настало время писать код, хотя он будет очень простым, но как говорится от простого к сложному. В этом уроке мы с вами освоим выражения и операторы.
Как помните инструкции в JavaScript состоят из ключевых слов (с ними познакомимся на следующем уроке), выражений и операторов.
Итак, начнем с выражений. Выражения – это код, который может быть вычислен транслятором. Т.е. транслятор, когда получает код в виде выражения начинает работать как калькулятор, пытаясь вычислить значение этого выражения.
Давайте запустим браузер и начнем вводить выражения. Я буду использовать браузер Microsoft Edge, так как он по умолчанию установлен на операционных системах Windows, а также доступен для установки на Linux и MacOS. Если вы предпочитаете другой браузер, то можете работать в нём.
Итак, для начала нам надо открыть пустую страницу в браузере. Для этого в адресной строке пишем about:blank. Нажимаем Enter. И открылась пустая страница. Давайте сразу добавим в избранное, чтобы заново потом не набирать. Взаимодействовать с транслятором в браузере мы можем через Консоль. Чтобы ее включить нам надо открыть меню, выбрать пункт “Другие инструменты”, “Инструменты разработчика”. Как видите мы также можем воспользоваться комбинацией Ctrl+Shift+I.
Открылись инструменты разработчика. Нам необходима Консоль, ищем ее в этом меню. Вот она.
Начнем вводить выражения. Самые простые выражения называются первичными. Если сильно упрощать, то первичные выражения, это просто значение без применения действий к нему. Например, это может быть простое число. Допустим 5. Если вы на калькуляторе наберете число 5 и нажмете на кнопку равно. То калькулятор вернет вам значение 5. Тоже самое сделает и консоль. Вводим число 5. Вместо кнопки равно в Консоли мы нажимаем кнопку Enter.
Как видите консоль вывела число 5. Этот знак именуется как ввод, а этот как вывод. В качестве первичных выражений могут выступать любые виды данных. Например, напишем строку “Привет, мир!”. Как видите, в этом случае консоль заранее показывает что она выведет. Нажимаем Enter. Введем дробное число. 2.14. Или булево значение true. Если мы напишем true внутри кавычек, то транслятор будет воспринимать ее как строку. Вообще все, что находится внутри кавычек для транслятора является строкой.
Как я уже говорил, кавычки мы можем использовать двойные, одинарные, и обратные кавычки, но консоль будет выводить строку только с помощью одинарных кавычек.
Если в конце выражения поставить точку с запятой, как бы завершая строчку, то эта строчка уже является инструкцией. Так как мы помним инструкция состоит из ключевых слов, выражений и операторов, но не обязательно, чтобы в инструкции присутствовали они все сразу. Можно написать инструкцию, которая состоит только из одного выражения. Завершается инструкция с помощью точки с запятой. В этом примере, выражение у нас есть, точка с запятой тоже – значит это инструкция.
Давайте теперь усложним выражения, так как сейчас транслятор отправляет тоже значение, что и получает от нас. Чтобы усложнить выражения, надо использовать операторы. Операторы по сути отвечают на вопрос что делать. Т.е. это как глаголы в предложении. Операторов существует очень много, и в данном списке приведены еще не все. Но в этом уроке мы рассмотрим только Арифметические операторы.
Арифметические операторы знакомы вам еще со школьной программы: это знаки +,-,/,* и т.д. Первичные выражения для операторов называются операндами.
Да, это может быть сложно, но выражения в зависимости от контекста использования называются по разному. Если вы используете первичные выражения вместе с арифметическими операторами, это эти первичные выражения называются операндами. Если вы просто пишите первичное выражение без использования операторов, как мы эо делали в начале, то данное выражение называется литералом. Это сделано, как ни странно, для удобства. Так как если я говорю, что этот операнд имеет значение 5, вы сразу понимаете, что данное первичное выражение используется вместе с оператором. Т.е. вы сразу понимаете контекст, где используется это первичное выражение.
Вернемся к арифметическим операторам. Они бывают унарные и бинарные. Унарные операторы работают с одним операндом. Бинарные операторы работают с двумя операндами. Пока сосредоточимся на бинарных операторах.
Усложним наше выражение с помощью оператора +. Допустим 5+10. И вот транслятор вычислил сколько будет 5+10. Данная строчка является уже сложным выражением так как состоит из двух простых (или первичных) выражений и оператора плюс. Когда вы пишите выражение, транслятор игнорирует пробелы и переходы на следующую строку. Так что можно писать и так
Давайте теперь используем операторы минус, умножить и разделить.
Операторов и первичных выражений может быть сколь угодно.
Так же как в математике, у операторов есть приоритет выполнения, например умножение и деление выполняется в первую очередь чем прибавление и отнимание.
Про приоритет всех арифметических операторов я расскажу чуть позже в этом уроке.
Также среди бинарных операторов есть еще возведение в степень
и остаток от деления
Остаток от деления вычисляется так. 16 / 3 это 5 и один в остатке. Вот этот остаток программа и выводит.
Приоритет арифметических операторов выглядит так:
самым приоритетным является возведение в степень. Затем идут умножение, деление и остаток от деления.
И уже потом уже идут прибавление и вычитание.
Кстати, при записи дробных чисел в качестве разделителя целого и дробного числа не ставьте запятую, используйте только точку.
Если мы напишем так:
То по идее транслятор должен был прислать 10.5. Но так как мы вместо точки для дробного числа использовали запятую, то транслятор воспринимает эту инструкцию как состоящую из двух выражений : 10 +1 и 5 -1, он их оба вычисляет, но результат отправляет только последнего выражения: 5 – 1. Зачем создавать несколько выражений через запятую мы с вами поговорим в будущих уроках.
Двигаемся дальше.
А что будет, если мы прибавим к true к false. У нас получится 1. Дело в том что арифметические операторы воспринимают true как 1, а false как 0.
а что буде если мы букву А умножим на букву Б?
Получится NaN переводится как Not a Number, т.е. не число. Т.е. мы не можем использовать арифметические операторы с текстом. Но, если мы напишем так.
То получится 4. Дело в том, что Транслятор, когда вы используете число, любой арифметический оператор (кроме знака плюс) и текст в внутри которого находится цифра, то транслятор будет переводить этот текст в число.
Например, давайте возведем текст с цифрой 2 в степень
Почему я сказал любой арифметический оператор, кроме знака +. Дело в том что для текста существует специальный строковый оператор для склеивания текста, который выглядит также как и прибавление.
Если мы напишем два тестовых операнда и поставим между ними знак плюс, то транслятор просто склеит эти два операнда.
А если мы напишем так:
То транслятор просто преобразует число в текст и склеит операнды.
Короче говоря, если один из операндов является текстом, оператором является знак +, то другой операнд будет автоматически преобразован в текст.
Выражения
На этом урок заканчивается. До встречи на следующих уроках.
ДЗ.
Посчитать без помощи консоли (но можно использовать калькулятор) чему будет равно это выражение: