diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:19:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-09 13:20:02 +0000 |
commit | 58daab21cd043e1dc37024a7f99b396788372918 (patch) | |
tree | 96771e43bb69f7c1c2b0b4f7374cb74d7866d0cb /web/server/h2o/libh2o/misc/oktavia/testdata/jsx_operator.txt | |
parent | Releasing debian version 1.43.2-1. (diff) | |
download | netdata-58daab21cd043e1dc37024a7f99b396788372918.tar.xz netdata-58daab21cd043e1dc37024a7f99b396788372918.zip |
Merging upstream version 1.44.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | web/server/h2o/libh2o/misc/oktavia/testdata/jsx_operator.txt | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/testdata/jsx_operator.txt b/web/server/h2o/libh2o/misc/oktavia/testdata/jsx_operator.txt new file mode 100644 index 000000000..7b79f9324 --- /dev/null +++ b/web/server/h2o/libh2o/misc/oktavia/testdata/jsx_operator.txt @@ -0,0 +1,68 @@ +Operators + +The operators of JSX are the same to those in JavaScript (ECMA-262 3rd edition) except for the following changes. + +types of the operands accepted by the operators are more restrictive +logical operators (&& ||) return boolean +binary ?: operator has been introduced (to cover the use of || in JavaScript to return non-boolean values) +introduction of the as operator +delete is a statement instead of an operator +The table below lists the operators supported by JSX. + +Table 1. List of Operators by Precedence +Operator Returned Type Operand Type(s) +(x)[1] typeof x +func(...) return type of the function +obj.prop typeof obj.prop obj: any object type +array[index] Nullable.<T> array: Array.<T> +index: number +map[key] Nullable.<T> map: Map.<T> +key: string +x++ +x-- typeof x number or int +obj instanceof type boolean obj: any object type +type: a Class, Interface, or Mixin +x as type[2] +x as __noconvert__ type[3] type +++x +--x typeof x number or int ++x +-x typeof x number or int +~x int number or int +! x boolean any +typeof x string variant +x * y +x % y number or int[4] number or int +x / y number number or int +x + y +x - y number or int[4] number or int +x + y string string +x << y +x >> y +x >>> y int number or int +x < y +x<= y +x > y +x >= y boolean number, int, string[5] +x in y boolean x: string +y: Map.<T> +x == y +x != y boolean any except variant[5] +x & y int number or int +x ^ y int number or int +x | y int number or int +x && y boolean any +x || y boolean any +x ? y : z typeof y any[6] +x ?: y typeof x any[5] +x = y typeof x any[7] +x op[8]= y typeof x same as op +x, y typeof y any +grouping operator +cast operator +cast operator (without run-time type check) +int is returned if both operands are int +types of x and y should be equal, or either should be convertible to the other +types of y and z should be equal, or either should be convertible to the other +type of y should be convertible to type of x +any of: * / % + - << >> >>> & ^ | |