Введення в JavaScript
Іващук Інна Миколаївна
Senior Software Engineer
JS developer, music fan, movie-dependent and Star Wars fan 🤓
May the Force be with you!
6 років із GlobalLogic
та майже 8 років у веб-розробці
спікерка та менторка в GlobalLogic JS community
спікерка та член програмного комітету конференції Fwdays JavaScript
Web Development - це робота, пов'язана з розробкою веб -сайту для Інтернету (World Wide Web) або інтрамережі (приватної мережі).
Дозвольте мені представити 3 основні технології, які використовуються для створення веб додатків - це HTML, CSS, та JavaScript
Мова розмітки гіпертексту або HTML - це стандартна мова розмітки для документів, призначених для відображення у веб -браузері. Їй можуть допомагати такі технології, як каскадні таблиці стилів (CSS) та мови сценаріїв, такі як JavaScript.
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to my website</title>
</head>
<body>
<section class="home">
That's home section
</section>
<section class="about">
In this section, I can tell something about my website
</section>
</body>
Cascading Style Sheets (CSS) це мова таблиці стилів, яка використовується для опису презентації документа, написаного мовою розмітки, наприклад HTML.
body {
margin: 20px;
padding: 0;
background: "aquamarine";
}
.home {
color: white
}
.about {
color: white
background: #333;
}
JavaScript часто скорочено як JS - це мова програмування, що відповідає специфікації ECMAScript. JS - це легка, інтерпретована або своєчасно компільована мова програмування, основними елементами якої являються функції.
window.onload = function() {
alert("Welcome to my website");
function greetings(name) {
return `Hello, ${name}!`;
}
function farewell(name) {
return `Godbye, ${name}!`;
}
}
Websites
Web Applications
Presentations
Server applications
IoT
Games
Art
Smartwatch Apps
Mobile Apps
Flying Robots
Testing
....і багато інших
JS Interactive Art
JavaScript — це мультапарадигменна, прототипно-орієнтована мова програмування. В відповідності до стандартів ECMA-262 мова офіційно називається ECMAScript.
JavaScript розроблений в компанії Netscape і так як Java на той момент набувала популярності, звідси і подібність назви
Брендан найбільш відомий як співробітник Netscape та Mozilla. Він прийшов працювати в Netscape Communications Corporation в квітні 1995, де розробляв JavaScript (колишня назва — Mocha, згодом — LiveScript) для веб-браузера Netscape Navigator. Пізніше, в 1998 році, обіймаючи посаду головного архітектора, брав участь у заснуванні mozilla.org. Коли в липні 2003 року AOL закрили проект браузера Netscape, Айк долучився до розвитку Mozilla Foundation.
Інтерпретатор JavaScript, яким обладнані браузери, дозволяє виконувати клієнтські сценарії (скріпти), що завантажуються одночасно із сторінкою із сервера, а також виконувати подальшу комунікацію за допомогою асинхронних запитів
Node.js — це JavaScript–оточення побудоване на V8 JavaScript engine.
Даний движок дозволяє створювати серверні додатки, а також виконувати інші операції, в тому числі - написання тестів.
Data Types
Primitive
Non-Primitive
null
undefined
number
boolean
string
symbol
Object
Дані об'єктного типу
Змінна - в програмуванні це буквене позначення комірок пам'яті, в якій зберігається деяке значення певного типу
Загальні правила побудови імен для змінних (унікальні ідентифікатори):
можуть містити букви, цифри, підкреслення та знаки долара.
також можуть починатися з $ і _ (але це дещо застарілий підхід)
чутливі до регістру (y та Y - різні змінні)
зарезервовані слова (ключові слова JavaScript) не можуть бути використані як імена
const name = "Myapp";
var age = 101;
let counter = 1;
const appVersion = "1.0.0";
const result_1 = 1001;
const MATH_PI = 3.14;
Приклади:
var one = 1;
var ONE = 1;
var $second = 2;
var text = “text”;
var centerX = 0,0;
var sum = one + $second;
var some_function = function() { console.log("Hello world!") };
var isTrue = true;
const one = 1;
const ONE = 1;
let $second = 2;
let text = "text"; // can be overwritten
text = "new text";
// we will get the error -
// Uncaught TypeError: Assignment to constant variable
one = 2;
const centerX = 0,0;
const sum = one + $second;
const some_function = function() { console.log("Hello world!") };
const isTrue = true;
ES2015 представив два важливих нових ключових слова JavaScript: let і const. Ці два ключових слова містять змінні (і константи) блочної області видимості в JavaScript. До ES2015 JavaScript мав лише два види: глобальна область видимості та межі функцій.
Одним із способів перевірити до якого типу даних відноситься значення - це typeof.
const num = 42;
const text = "JavaScript";
const enabled = true;
typeof num; // returns "number"
typeof text; // returns "string"
typeof enabled; // returns "boolean"
function sayHi(name) {
return "Hello, " + name + "!";
}
typeof sayHi; // returns "function"
Первірка даних з використанням операторів порівняння
const num = 1;
const num2 = "1";
num == num2 // Returns true
num === num2 // Returns false, as data types are different
const str = "Some text";
const str2 = "Some text 2";
str == str2 // Returns false
str === str2 // Returns false
// I can add a comment like that
const name = "Tony Stark";
/*
* I can add a comment also like that
* to have multilines comment
*
* */
const magicNumber = 42;
/*
* Code down below is function that should find a sum of 2 elements
* */
const sum = (a, b) => a + b;
// I can add a comment like that
const name = "Tony Stark";
// This function accepts 2 arguments
function sum(a, b) {
return a + b;
}
Однорядкові:
/*
* I can add a comment also like that to have multilines comment
*
* */
const magicNumber = 42;
/*
* Code down below is function that should find a sum of 2 elements
* */
const sum = (a, b) => a + b;
Багаторядкові:
// TO print a result we can use
const a = 10;
const b = 30;
const sum = a + b;
console.log(a + b);
console.log("sum of a and b is equal to ", a + b);
// also sum variable can be printed
console.log("sum of a and b is equal to ", sum);
// info
console.info("I can print some information");
// error
console.error("I can inform about an error");
console.log()
console.warn()
console.error()
Виводить повідомлення про помилку
Виводить попереджувальне повідомлення
Для загального виведення інформації
console.dir()
Відображає інтерактивний список властивостей зазначеного об’єкта JavaScript.
console.debug()
Виводить на консоль повідомлення з налагодженням на рівні debug.
Використовуються, коли потрібно змінній певне значення. З лівого боку назва змінною, а з правого боку - значення.
const MATH_PI = 3.14;
const radius = 10;
const result = MATH_PI * radius * radius;
// shorter way to change a value;
let result1 = 10 * 10;
result1 *= MATH_PI;
// decrease a value
const a = 10;
const b = 20;
let c = 40;
c = c - a;
// the same operation, shorter way
c -= a;
c = c + b;
// the same operation, shorter way
c+= b;
// strings operations
let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;
Використовуються, коли потрібно порівняти значення змінною або змінних
const MATH_PI = 3.14;
const radius = 10;
const name = "Robert";
// comparison
console.log(MATH_PI === 3.14);
console.log(name === "Steven");
// numbers comparison
console.log(radius > 10);
console.log(radius >= 10);
console.log(radius < 100);
console.log(radius !== 0);
Використовуються, коли потрібно порівняти значення змінних, або виконати операцію якщо хоча б частина умови вірна
const MATH_PI = 3.14;
const r = 10;
const name = "Robert";
console.log(name !== "Steven");
// usind 'and'
const res = MATH_PI === 3.14 && radius >= 10
? MATH_PI * (2 * r)
: MATH_PI * (r * r);
console.log("result ", res);
// using 'not' and 'or'
const res2 = radius !== 0 || radius < 1000
? MATH_PI * (2 * r)
: MATH_PI * (r * r);
console.log("result 2 ", res2);
Побітові оператори працюють з 32-бітовими числами.
Будь-який числовий операнд в операції перетворюється на 32-розрядне число. Результат перетворюється назад у число JavaScript.