operatory JavaScript

operatory JavaScript

 

  1. operator jednoargumentowy – wykonuje działania na jednej wartości
  2. operator dwuargumentowy, binarny – wykonuje działania na dwóch wartościach
  3. operator trójargumentowy – warunkowy

 

  • operatory matematyczne, arytmetyczne (dwuargumentowe, binarne)
    • + –
    • * /
    • % (modulo, reszta z dzielenia 316 % 100 -> 16)

 

  • konkatenacji + czyli łączenie łańcuchów

var fullData = firstData + ’ ’ + secondData

 

  • operatory porównania (dwuargumentowe, binarne)
    • > < – zwracają wartość logiczną, sprawdzenie czy wyrażenie jest true
    • >= =<
    • == (równy)
    • != (nie równy) console.log(NaN == NaN) – false
    • === (identyczny)
    • !== (dokładnie różny)
      • console.log(0 == false) – true
      • console.log(„” == flase) – true
      • console.log(„” === flase) – false

 

  • porównywanie łańcuchów – kolejność alfabetyczna, wielkie litery są 'mniejsze’ od małych

porównywanie według zasad standardu Unicode

„Z” < „a” -> true

 

  • operatory logiczne
    • && – i – (binarny) zwraca true gdy oba argumenty mają true
    • || – lub – (binarny) przynajmniej jeden warunek true
    • ! – nie (jednoargumentowy), odwrócenie przekazanej wartości – !false – true, !true – false

var variable1 = 0;

var variable2 = 1;

var variable3 = 2;

&nbsp;

variable2 || variable1 //1, true

variable1 || variable2 // 1, true

&nbsp;

variable2 && variable1 // 0, false

variable2 && variable3 //2, true

variable3 && variable2 //1, true

|| – zwraca wartość pierwszego, prawdziwego argumentu, gdy oba są fałszywe zwraca ostatni argument

&& – zwraca wartość pierwszego, fałszywego argumentu, gdy oba są prawdziwe zwraca ostatni argument

 

  • jednoargumentowe
    • negacja liczby –
    • typeof – zwraca wartość łańcuchową – typu wartości

Operator typeof – umieszczony przed nazwą zmiennej zwraca jej typ (String, Number, Boolean)

alert(typeof variable);

 

  • warunkowy (trójargumentowy)

? : wartość po lewej stronie znaku decyduje co zostanie wybrane:

  • true – wartość środkowa – console.log(true ? 3 : 6) -> 3
  • flase – wartość z prawej – console.log(false ? 3 : 6) -> 6

value = (a ==1) ? 1 : 0;

if (a == 1)

value = 1;

else

value = 0;

 

: – słowo kluczowe else, jest opcjonalny.

 

 

  • Inkrementacja ++
    • preinkrementacja ++i
    • postinkrementacja i–
  • Dekrementacja

var i = 1;

var j = ++i; //j=2, i=2

var j = i++; //j=2,i=3

 

  • operator in

sprawdza czy obiekt zawiera własność o określonej nazwie

lub w pętli for do przeglądania własności obiektów (for (var nazwa in obiekt)

 

Hierarchia operatorów

  • ||
  • &&
  • > < >= =< ==
  • * / %
  • + –

1 + 1 == 2 && 10 * 10 > 50

 

Przykłady:

  • console.log(0 / 0) -> NaN
  • console.log(Infinity – Infinity) -> NaN
  • console.log(NaN == NaN) -> false
  • console.log(true && false) -> false
  • console.log(true && true) -> true
  • !true -> false
  • !false -> true
  • if (field != „”) alert(’pole poprawnie wypełnione’);

 

Skrócone obliczanie warunków logicznych – short-circuit evaluation

wartość po lewej stronie jest konwertowana na typ logiczny

  • operator || zwraca wartość po lewej stronie jeśli wartość tą można przekonwertować na true, w przeciwnym wypadku zwraca wartość po prawej stronie
    • console.log(null || „user”) – > user
    • console.log(„ruda” || „user”) -> ruda
  • operator && zwraca wartość po lewej stronie jeśli wartość tą można przekonwertować na false, w przeciwnym wypadku zwraca wartość po prawej stronie
    • console.log(false && x) -> false, nie ma znaczenia czym jest x ponieważ jest ignorowany, zwracane jest false
  • operator warunkowy ? : – pierwsze wyrażenie jest zawsze obliczane, z drugiego i trzeciego obliczane jest te co zostało wybrane.

 

skróty operacji matematycznych:

variable +=33;

message += ’ ’ + name; -> message = message + ’ ’ + name;

variable -+33;

variable *=33;

variable /+33;

variable++; -> variable = variable +1;

variable–; -> variable = variable – 1;