Update cookies preferences
Promotic

Operatory JavaScript oraz opis składni

Wyrażenie języka JavaScript jest podobne do wyrażenia języka VBScript, posiada jednak więcej operatorów i dlatego jest bardziej ogólne i bardziej elastyczne (patrz Lista operatorów języka VBScript). Z tego powodu system PROMOTIC w niektórych miejscach wykorzystuje raczej wyrażenie języka JavaScript.

Porównanie:
- Wyrażenie dodawanie, odejmowanie, mnożenie, dzielenie ... ma taką samą formę zarówno w języku JavaScript jak i języku VBScript, np.
(4 * x + 1) / 3
- Wyrażenie operacji logicznych rodzaju "i równocześnie", "albo" ... są już różne, np.
dla JavaScript: (b1 && b2) || b3
dla VBScript: (b1 And b2) Or b3.
- Bardzo przydatne warunkowe wyrażenie JavaScript (np. b ? 1 : 2) nie można w języku VBScript w ogóle zapisać.


Wyrażenie JavaScript w systemie PROMOTIC jest stosowane:
- w Pmg obiektach w powiązaniu danych "E - Wyrażenie ogólne".
- w obiekcie PmExpr, przeznaczonym do dynamicznego obliczania wyrażeń JavaScript.
- w parametrach poleceń pliku źródłowego dla obiektu PmaReport - patrz Opis źródłowego pliku obiektu PmaReport.


Lista operatorów wyrażenia JavaScript:

Operatory arytmetyczne:

operator Opis
v1 + v2 Dodawanie liczb lub połączenie łańcuchów
v1 - v2 Odejmowanie liczb
v1 * v2 Mnożenie liczb
v1 / v2 Dzielenie liczb
v1 % v2 Modulo (reszta po dzieleniu v1/v2)
v1 ? v2 : v3 Jeżeli wartość v1 jest true, wtedy jest zwracana wartość v2, w innym przypadku jest zwracana wartość v3
v1++ Inkrement liczby = dodanie wartości 1 (v1=v1+1)
v1-- Dekrement liczby = odjęcie wartości 1 (v1=v1-1)
Przykład:
JavaScriptWybierz oraz skopiuj do schowka

var val;

val = 1 + 2;   // Zwraca 3
val = true + 1;   // Zwraca 2
val = false + false;   // Zwraca 0
val = 6 + "Kociol";   // Zwraca "6Kociol"
val = "Kociol" + false;   // Zwraca "Kociolfalse"
val = "Kociol" + "Zawór";   // Zwraca "KociolZawór"

val = 12 % 5;   // Zwraca 2
val = -1 % 2;   // Zwraca -1
val = 1 % -2;   // Zwraca 1
val = -4 % 2;   // Zwraca -0
val = 5.5 % 2;   // Zwraca 1.5

Operatory porównawcze:

operator Opis
v1 == v2 Zwraca true jeżeli v1 oraz v2 są takie same
v1 != v2 Zwraca true jeżeli v1 oraz v2 są różne
v1 >= v2 Zwraca true jeżeli v1 jest większe lub równe v2
v1 > v2 Zwraca true jeżeli v1 jest większe niż v2
v1 <= v2 Zwraca true jeżeli v1 jest mniejsze lub równe v2
v1 < v2 Zwraca true jeżeli v1 jest mniejsze niż v2


- System PROMOTIC aktualnie nie wspiera rygorystyczne JavaScript porównawcze operatory typu === oraz !==.
- Dwie wartości typu String (tekst) są porównywane według standardowej kolejności alfabetycznej, stosując Unicode wartości.
- Podczas porównania liczby oraz tekstu (String) tekst zostanie skonwertowany na liczbę.
- Jeżeli jeden z operandów jest typu Boolean, wtedy ten operand zostanie skonwertowany na 1 jeżeli jest true oraz 0 jeżeli jest false.


Przykład:
JavaScriptWybierz oraz skopiuj do schowka

var val;

val = 1 == 1;   // Zwraca true
val = 1 == "1";   // Zwraca true
val = "1" == 1;   // Zwraca true
val = 0 == false;   // Zwraca true

val = 1 != 2;   // Zwraca true
val = 1 != "1";   // Zwraca false
val = 1 != true;   // Zwraca false
val = 0 != false;   // Zwraca false

Operatory logiczne:

v1 && v2 Logiczne AND (zwraca true jeżeli v1 oraz v2 jest true)
v1 || v2 Logiczne OR (zwraca true jeżeli v1 lub v2 jest true)
!v1 Logiczne NOT (zwraca true jeżeli v1 jest false)

Operatory bitowe:

operator Opis
v1 & v2 Bitowe AND (każdy bit wartości zwrotnej jest wynikiem operacji AND odpowiednich bitów v1 oraz v2)
v1 | v2 Bitowe OR (każdy bit wartości zwrotnej jest wynikiem operacji OR odpowiednich bitów v1 oraz v2)
v1 ^ v2 Bitowe XOR (każdy bit wartości zwrotnej jest wynikiem operacji XOR odpowiednich bitów v1 oraz v2
~v1 Bitowe NOT (każdy bit wartości zwrotnej jest wynikiem operacji NOT odpowiedniego bitu v1). W systemie PROMOTIC na razie nie implementowane.
v1 << v2 Bitowe przesunięcie wlewo (wartości bitów w v1 zostaną przesunięte o v2 bitów wlewo). Na przykład v1<<2 zwraca dwukrotność wartości v1.
v1 >> v2 Bitowe przesunięcie w prawo (wartości bitów w v1 zostaną przesunięte o v2 bitów w prawo). Na przykład v1>>2 zwraca wynik dzielenia w zakresie liczb całkowitych v1/2.


Operatory bitowe w języku JavaScript wymagają wartości całoliczbowe (4-bajtowa liczba całkowita).
Jeżeli wartość nie jest całoliczbowa, wtedy operator najpierw tą wartość zamieni na liczbę całkowitą.
Jeżeli wartość nie można zamienić, wtedy operator zwraca wartość NaN (można sprawdzić przy pomocy metody Pm.IsValid).
Przykład:
Patrz przykłady w opisie powiązania danych "E - Wyrażenie ogólne".
© MICROSYS, spol. s r.o.