не требует предварительной компиляции (веб-браузер или серверная платформа Node.js)
Типы данных переменных определяются во время выполнения
позволяет создавать и использовать объекты, а также реализовывать наследование через прототипы
поддерживает код, который исполняется без блокировки основного потока выполнения
Поддерживается на всех устройствах (если на них есть браузер)
Существует множество библиотек и фреймворков
function greet(name) {
console.log(`Привет, ${name}!`);
}
greet('Анна'); // Выведет: Привет, Анна!
const greet = function(name) {
console.log(`Привет, ${name}!`);
};
greet('Анна'); // Выведет: Привет, Анна!
const greet = (name) => {
console.log(`Привет, ${name}!`);
};
greet('Анна'); // Выведет: Привет, Анна!
letМожет быть переопределена
let b = 20;
constНе может быть переопределена
const b = 20;
varМожет быть переопределена
var b = 20;
Доступна внутри функции
function exampleFunction() {
let functionVariable = 'This is a function-scoped variable';
console.log(functionVariable); // Доступно внутри функции
}
exampleFunction();
console.log(functionVariable); // Ошибка: functionVariable is not defined
Доступна внутри блоков (фигурных скобок)
if (true) {
let blockVariable = 'This is a block-scoped variable';
console.log(blockVariable); // Доступно внутри блока
}
console.log(blockVariable); // Ошибка: blockVariable is not defined
| Python | JavaScript |
| int, float | number |
| str | string |
| bool | boolean |
| list | array (массив) |
| dict | object (объект) |
| None | null, undefined |
%
- остаток от деления
**
- возведение в степень
5 + 3; // 8
'Hello' + ' ' + 'world'; // 'Hello world'
5 + '3'; // '53'
true + 1; // 2
false + 1; // 1
[1, 2] + 3; // '1,23'
5 - 3; // 2
'Hello' - 'world'; // NaN
'5' - 3; // 2
5 - '3'; // 2
'Hello' - 3; // NaN
true - 1; // 0
1 - true; // 0
false - 1; // -1
| Python | JavaScript |
| and | && |
| or | || |
| not | ! |
= =
(равенство)
! =
(неравенство)
>
(больше)
<
(меньше)
> =
(больше или равно)
< =
(меньше или равно)
if (условие) {
// код, выполняемый, если условие истинно
}
if (условие) {
// код, выполняемый, если условие истинно
} else {
// код, выполняемый, если условие ложно
}
if (условие1) {
// код
} else if (условие2) {
// код
} else {
// код
}
for
for (let i = 0; i < 5; i++) {
console.log(i);
}
let i = 0;
— создание переменной i со значением 0 перед
началом цикла
i < 5;
— проверка перед каждой итерацией; цикл
выполняется, пока i меньше 5
i++
— увеличение значения i на 1 после каждой
итерации
while
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
Ручной контроль за итератором
do ... while
let i = 0;
do {
console.log(i);
i++;
} while (i < 5);
Исполниться 1 раз, только потом будет смотреть на
условие
коллекции пар «ключ-значение», где ключами являются строки (свойства), а значениями — любые данные или функции (методы)
Являются альтернативой словаря из Python, но пишется без кавычек
const person = {
name: 'Иван',
age: 30,
greet: function() {
console.log('Привет!');
}
};
console.log(person.name);
person.greet();
console.log(person['age']); // 30
thisвнутри метода объекта ссылается на сам объект, позволяя обращаться к его свойствам и другим методам
const person = {
name: 'Иван',
age: 30,
greet: function() {
console.log(`Привет, меня зовут ${this.name} и мне ${this.age} лет.`);
}
};
person.greet();
упорядоченные коллекции элементов, доступ к которым осуществляется по индексу
const fruits = ['Яблоко', 'Банан', 'Апельсин'];
const fruits = new Array('Яблоко', 'Банан', 'Апельсин');
Все типы данных имеют конструкторы
console.log(значение_или_переменная);
может принимать несколько аргументов и поддерживает различные типы данных
console.log('Имя:', имя, 'Возраст:', возраст);
print()
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Как вас зовут? ', (ответ) => {
console.log(`Привет, ${ответ}!`);
rl.close();
});
prompt()
let результат = prompt(сообщение, значениеПоУмолчанию);
V8
,
SpiderMonkey
,
Nitro
,
Chakra
выполняется на стороне клиента и предназначен для взаимодействия с веб-страницей и её элементами
среда выполнения JavaScript на сервере (без браузера), построенная на движке V8 от Google
как движки JavaScript развивались с течением времени
Дни недели:
Понедельник
Вторник
Среда
Четверг
Пятница
Суббота
Воскресенье
| Ключ | Значение |
| title | Название книги |
| author | Автор |
Выведет: Название книги: 1984
Автор книги: George Orwell