Головна‎ > ‎JavaScript‎ > ‎

Змінні

Змінна підлаштовується під тип данних
  • a-z, A-Z, 0-9, $, _   // проте $ на початку буде конфліктувати з JS-бібліотеками
  • змінна чутлива до регістру
  • 2life
 
  Змінна   Тип
  let x = "Привіт"
  let x = `Привіт`
  let x = 'Привіт'

  String
  let x = 1   
  let x = -100.5

  Number
  let x = true

  Boolean
 
так / ні

  let x = null

  Null
  нічого

  let x = undefined

  Undefined
  жодного значення,
  не було ініціалізації

  Об'єкт 
  let a = []
  let b = {}
  let worker1 = {
       name: "Андрій",
       age: 30
  }

  Object
  може мати null

  • Усі змінні типу var відносяться до всієї функції
  • Видимість let обмежена блоком, а не функцією
  • let без ініціалізації видає ReferenceError, а не undefined
  • const те саме що і let але без можливості зміни значення
  • Використовуйте const, коли не можна let і лише потім var 

    Коментар
    // 
    /* */



typeof 3.14               // number
typeof false              // boolean
typeof "Київ"             // string
typeof [1,2,3,4]          // object
typeof function () {}     // function
typeof Infinity           // number
typeof null               // object
typeof function f1(){}    // function
isNaN(5)                  // false
w1 instanceof Worker      // true, для об'єктів
a = undefined             // значення і тип не задані



Додатково

var x              // x = false | null | 0 | "" | NaN |
var aa, AA         // чутливий
var n = 5; var n   // n і надалі буде 5
var m              // undefined

1+1+ "+" +1+1      // 2+11
"5" * "3"          // 15
"5" + "3"          // "53"
"<br>" + 5         // "<br>5"
1000/"Apple"       // NaN   
isNaN(NaN) = true
100/"10"           // 10
-2/0               // -Infinity
2/0                // Infinity



Локальна змінна

var x = 1; 
if (true) { 
    var x = 2;   // та сама змінна
}
// x = 2




Локальна змінна

let x = 1; 
if (true) { 
    let x = 2;   // інша змінна
}
// x = 1




Константа

const adminLog = 'admin';

var x = 10; 
{
     const x = 2;  // x = 2
}
// x = 10




Number.MAX_VALUE           //  1.7976931348623157e+308
Number.MIN_VALUE           // 5e-324
Number.POSITIVE_INFINITY   //  Infinity
Number.NaN                 // Not a Number
Number.EPSILON             // 0.00000000000000022204