Javascript

Для выполнения программ мы будем использовать nodejs. Создайте файл из примера ниже, сохраните его в файле test.js. Перейдите в консоль и выполните


node test.js

Javascript код можно выполнить в консоли браузера, для этого в браузере надо нажать клавишу F12, в открывшемся наборе инструментов разработчика выбрать консоль и в ней ввести код.

Программа на javascript - это последовательность инструкции. Инструкции разделяются точкой с запятой или начинают с разных строк. В состав инструкций могут входить выражения. Выражения возвращают значения. Например,


let r = 5.4;
let area = Math.PI * r**2;
console.log(area);

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

По умолчанию инструкции выполняются по порядку расположения в тексте. Для изменения порядка выполнения используют инструкции контроля: ветвления, циклы, переходы.

Рассмотрим инструкции объявления, они объявляют или определяют переменные и функции. Они вводят имя которое будет использоваться позже и присваивают ему значение. В примере выше, в первой строке, мы имеем литерное высказывание 5.4, оно прямо вводит числовое значение. Во второй строке, с права от знака равно, находится высказывание, содержащее оператор умножения, возведение в степень и переменные. Ключевое слово let вводит изменяемую переменную. Ключевое слово const вводит неизменяемую переменную.

Числа

number- тип значений встроенный. Пример,

console.log("24 * 5 =", 24 * 5);
console.log("25 / 5 =", 25 / 5);
console.log("24 + 5 =", 24 + 5);
console.log("24 - 5 =", 24 - 5);
console.log("5 % 2 =", 5 % 2);
console.log("5 < 6", 5 < 6);
console.log("5 === 6", 5 === 6);
console.log("5 !== 6", 5 !== 6);

let x = parseFloat("3.14")//преобразуем строку текста в число
console.log(typeof x) // typeof возвращает тип значения

Встроенных в язык операции над числами немного, но есть библиотеки, в которых, наверное, есть нужная вам функция.

Строки

Встроенный тип значений - string. Для строковых литер можно использовать двойные кавычки, одинарные левые или правые кавычки. Пример,

let name = "Bob" //строковая литерал
console.log(`Hello, ${name}!`)//в строку подставляется значение переменной

Логический тип

В логическом типе всего два значения: ture, false. На них заданны операции: || (и), && (или), ! (отрицание). Пример,

let x = 5
console.log("x < 6 || x >3 ", x < 6 || x > 3) 
console.log("!(x < 6) = ", !(x < 6))

Задание ветвления

Пример,

let x = 5
if (x < 0)
{
	console.log(`${x} - отрицательное.`)
}
esle if( x === 0)
{
	console.log(`${x} - ноль.`)
}
else
{
	console.log(`${x} - положительно.`)
}

Циклы

Пример,

for(let i = 0; i < 5;++)
{
	console.log(i)
}

Массивы

Элемент массива мы можем получить, указав в квадратных скобках индекс элемента. Нумерация элементов начинается с нуля. Свойство length - число элементов в массиве. Пример,

let l = [1, 5, "Bob", 6] //литерал массива
l.push(9)//Добавляет новый элемент в конец массива
for (let i = 0; i < l.length; i++)
{
	console.log(`l[${i}]=${l[i]}`)
}
//Более удобный способ обработки массива
for(const elem of l)
	console.log(elem);

l.reverse();//меняет порядок элементов
console.log(l);
let l2 = l.slice(1, 4)//создает новый массив с элементами с первого по 3 
console.log(l2)

Функции


console.log("f3(5) =", f3(5)); // Вызов функции.
function f3(x){return x * 3}; // Определение функции,
// такое определение может предшествовать вызову.
const f2 = function (x) { return x * 2}; // Определение функции
const add = (a, b) -> {return a + b;} // Третий способ определения функциии
console.log("add(6,5)=",add(6,5))

Объекты

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

let person = {name: "Лена", age: 18}//Создали объект
console.log("Привет, ", person.name, "!")
console.log("Привет, ", person["name"], "!")

Модули

Мы можем разбить наш код на отдельные файлы, как в примере ниже. Создадим файл help.mjs.

function add(a, b)
{
	return a + b;
}

const speedOfLight = 3 * 10**8;

export {speedOfLight, add};

Создадим файл main.mjs

import {speedOfLight, add} from "./help.mjs"
console.log("add(4, 3) ", add(4,3))
console.log("скорость света =", speedOfLight);

Запуситм программу, выполнив

node main.mjs

Классы

Классы - удобный способ создавать объекты.

// Class
class Person
{
    constructor(name)
    {
        this.name = name
    }

    describe()
    {
        return 'Person named ' + this.name;
    }
}

const jane = new Person("Jane");
console.log(jane.describe())