Структура кода
JavaScript состоит из серии операторов и точек с запятой. Оператор похож на предложение, но в коде.
Например, утверждение выглядит следующим образом:
alert('Скажи привет');
Точка с запятой не является обязательной и может быть зафиксирована, когда между ними есть физический разрыв строки. Это эквивалент полной остановки.
Но иногда разрывы строк не гарантируют выполнение инструкции. Использование знаков + может служить связующим звеном между строками.
Например:
console.log («Это ‘ + имя + ‘ — тарабарщина»);
Переменные
Переменные могут быть определены с использованием var
, let
и const
.
var
объявляет и при необходимости инициализирует переменную. Переменные объявляются с помощью var
, имеющего область действия. Они рассматриваются как объявленные в начале функции. Это называется переменным подъемом.
Объявление let
имеет область действия блока.
Значение переменной, которая не инициализирована, равно undefined
.
Переменная, объявленная const
, не может быть переназначена. Однако его значение по-прежнему может быть изменчивым. const
замораживает переменную, Object.freeze()
замораживает объект. Объявление const
имеет область действия блока.
Тип данных
В JavaScript не так много типов данных по сравнению с другими языками. Вот полный список и что они из себя представляют:
Число
let a= 2984;
a = 29.84;
Никаких «кавычек» для чисел. Только простые старые прямые числа. Вы можете делать как целые числа, так и числа с плавающей запятой. Основные операторы работают с числами.
Также доступен специальный номер infinity
. Вам просто нужно сделать 1/0
— значит, единицу разделить на ноль. Это значение считается самым большим числом за все время и не может рассматриваться как меньший результат.
BigInt
В JavaScript самое большое число, которое он может сделать, составляет около 16 цифр. В большинстве случаев наши приложения могут работать менее чем с 16 цифрами. Однако время от времени нам может понадобиться это для действительно больших чисел, таких как криптография.
BigInt
создается путем добавления n
в конце числа.
const x = 1234567890123456789012345678901234567890n;
Нить
Строка — это текстовая переменная, обозначенная тем, что она заключена в кавычки. Вы можете использовать 3 типа кавычек — 'single quotes'
, "double quotes"
и ``back ticks
Double и single не имеют значения в JavaScript. Обратные кавычки больше предназначены для расширения функциональности фрагмента строки и используются для встраивания переменных с использованием ${}
.
Например:
let dog = "toby";
console.log (`Hi, ${dog}`);
Если вы использовали кавычки в приведенном выше примере, это просто станет обычной строкой.
логический
Это распечатает либо true
, либо false
Часто это результат какого-то сравнения.
Объект
Объект представляет собой динамический набор свойств.
Ключ свойства — это уникальная строка. Если в качестве ключа свойства используется нестроковое значение, оно будет преобразовано в строку. Значением свойства может быть примитив, объект или функция.
Самый простой способ создать объект — использовать литерал объекта:
пусть obj = {
сообщение : "Сообщение",
сделать что-то : function() {}
}
Доступ к свойствам можно получить двумя способами: запись через точку и запись в квадратных скобках. Мы можем читать, добавлять, редактировать и удалять свойства объекта в любое время.
- получить: объект.имя, объект[выражение]
- установить: object.name = значение, object[выражение] = значение
- удалить: удалить объект.имя, удалить объект[выражение]
пусть obj = {}; //создаем пустой объект
obj.message = "Сообщение"; //добавляем свойство
obj.message = "Новое сообщение"; //изменить свойство
удалить obj.message; //удалить свойство
Объекты можно использовать в качестве карт. Простую карту можно создать с помощью Object.create(null):
let french = Object.create(null);
французский[“yes”] = “oui”;
французский["нет"] = "не";
французский[“yes”];//”oui”
Все свойства объекта являются общедоступными. Object.keys() можно использовать для перебора всех свойств.
функция logProperty(имя){
console.log(имя); //имя свойства
console.log(obj[имя]); //значение свойства
}
Object.keys(obj).forEach(logProperty);
Object.assign() копирует все свойства из одного объекта в другой. Объект можно клонировать, скопировав все его свойства в пустой объект:
let book = { title: «Хорошие стороны» };
let clone = Object.assign({}, book);
Неизменяемый объект — это объект, который однажды создан и не может быть изменен. Если вы хотите сделать объект неизменным, используйте Object. заморозить().
Преобразование типов
Иногда вам нужно переключаться между различными типами по какой-либо причине. Вот как это сделать.
пусть someFakeBoolean = true;
someFakeBoolean = String(someFakeBoolean);
использование String() преобразует вашу переменную в строку
позвольте someFakeNumber = "3872";
некоторыйПоддельныйЧисло = Число(некоторыйПоддельныйЧисло);
использование Number() преобразует вашу строку в число
Обратите внимание, что преобразование случайного текста в числа не работает, да и смысла в этом, в общем-то, нет. Вы получите NaN
Boolean() превратит любое значение в истинный или ложный вывод. Все «пустое», например 0, null, undefined и NaN, вернет false. Все остальное вернет true.
Операторы
Эти операторы не специфичны для JavaScript и, как правило, одинаково поддерживаются в большинстве языков программирования. Вот список:
И (&) ИЛИ (|) Исключающее ИЛИ (^) НЕ (~) ЛЕВЫЙ SHIFT (‹‹) ПРАВЫЙ SHIFT (››) НУЛЕВОЕ ЗАПОЛНЕНИЕ ПРАВЫЙ SHIFT (›››)
При использовании этих операторов просто произносите их вслух, и они в основном делают то, что вы говорите.
Например:
printLine(строка, идентификатор){
if (строка и идентификатор) {//если оба существуют, запустите этот код
}
Сравнения
Подумайте о математических сравнениях. Вот что это:
- Больше/меньше чем: a › b, a ‹ b.
- Больше/меньше или равно: a ›= b, a ‹= b.
- Равно: a == b (один знак = является присваиванием, а не компаратором).
- Не равно. а != б.
предупреждать, подсказывать, подтверждать
Это всплывающие окна, которые «звенят»
оповещение (сообщение);
Подсказки принимают два аргумента — вопрос и ответы.
let promptMe = prompt («здесь ваш вопрос», [«синяя таблетка», «красная таблетка»]);
оповещение ("Вы получили ${promptMe}`);
Подтвердить означает, что вам нужно нажать на кнопку принятия, чтобы код вернул значение true.
let isOver18 = подтвердить («Вам больше 18?»);
оповещение(isOver18); // true, если нажата кнопка ОК
Петли
Думайте об этом как о повторяющемся операторе if
без необходимости вручную записывать одно и то же каждый раз или выполнять несколько вызовов, чтобы заставить его работать.
Он имеет условие и прекратит выполнение кода только после того, как условие вернет false
let i = 0;
while(condition){
code
}
Циклы «do…while» переворачивают синтаксис с ног на голову и проверяют условие после запуска кода. Почему? Потому что иногда вам просто нужно запустить код хотя бы один раз.
Вот как это выглядит:
do{
//some code here
}while(condition);
функции
Функции похожи на строительные блоки приложения JavaScript, библиотеки, фреймворка и любой «программы», написанной на языке сценариев.
Есть встроенные функции, с которыми мы уже сталкивались раньше, такие как alert ()
и prompt ()
.
Вы можете написать свои собственные функции следующим образом:
function name(){
//your code here
}
И затем вы просто вызываете его, используя имя функции:
Function name ();
Стрелочные функции
Стрелочная функция — это просто синтаксис, позволяющий сократить написание ваших функций. Вот как это выглядит:
let functionNameHere = (argumentsHere) => //do something
Стрелочные функции обычно размещаются на одной строке, но можно использовать несколько строк с помощью фигурного { }
Вот как это выглядит:
let cat = () => {
code
return someValue; //is required. Can just be a straight return;
}
При использовании curl { }
со стрелочными функциями вам также нужно использовать return
для выхода из него.