From cb9e359a51c3249d8f5157db69d43fd413ddeda6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:45:12 +0100 Subject: unslug ca: move --- .../reference/operators/comma_operator/index.html | 129 ++++++++++ .../operators/conditional_operator/index.html | 170 +++++++++++++ .../reference/operators/function/index.html | 146 +++++++++++ .../reference/operators/grouping/index.html | 128 ++++++++++ .../web/javascript/reference/operators/index.html | 282 +++++++++++++++++++++ .../reference/operators/super/index.html | 119 +++++++++ .../reference/operators/typeof/index.html | 240 ++++++++++++++++++ .../javascript/reference/operators/void/index.html | 138 ++++++++++ .../reference/operators/yield/index.html | 152 +++++++++++ 9 files changed, 1504 insertions(+) create mode 100644 files/ca/web/javascript/reference/operators/comma_operator/index.html create mode 100644 files/ca/web/javascript/reference/operators/conditional_operator/index.html create mode 100644 files/ca/web/javascript/reference/operators/function/index.html create mode 100644 files/ca/web/javascript/reference/operators/grouping/index.html create mode 100644 files/ca/web/javascript/reference/operators/index.html create mode 100644 files/ca/web/javascript/reference/operators/super/index.html create mode 100644 files/ca/web/javascript/reference/operators/typeof/index.html create mode 100644 files/ca/web/javascript/reference/operators/void/index.html create mode 100644 files/ca/web/javascript/reference/operators/yield/index.html (limited to 'files/ca/web/javascript/reference/operators') diff --git a/files/ca/web/javascript/reference/operators/comma_operator/index.html b/files/ca/web/javascript/reference/operators/comma_operator/index.html new file mode 100644 index 0000000000..f6a62d2bc8 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/comma_operator/index.html @@ -0,0 +1,129 @@ +--- +title: Operador Coma +slug: Web/JavaScript/Referencia/Operadors/Operador_Coma +translation_of: Web/JavaScript/Reference/Operators/Comma_Operator +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador coma avalua cadascun dels seus operands (d'esquerra a dreta) i retorna el valor de l´últim operand.

+ +

Sintaxi

+ +
expr1, expr2, expr3...
+ +

Paràmetres

+ +
+
expr1, expr2, expr3...
+
Qualsevol expressions.
+
+ +

Descripció

+ +

Es pot fer servir l'operador coma quan es vulgui incloure múltiples expressions en una localització que requereix una sola expressió. L'ús més freqüent que es fa d'aquest operador es per subministrar múltiples paràmetres en una for loop.

+ +

Exemple

+ +

Si a és un array de 2 dimesnions amb 10 elements on a side, el codi següent usa l'operador coma per incrementar dos variables al mateix temps. Vegeu que la coma en la sentència var no  és l'operador coma, ja que no existeix dins d'una expressió. Més aviat, és un caràcter especial en les sentències var que combina múltiples d'ells en un. Pràcticament, la coma es comporta quasi igual que l'operador coma. El codi imprimeix els valors dels elements de la diagonal de l'array:

+ +
for (var i = 0, j = 9; i <= 9; i++, j--)
+  document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
+ +

Processar i després retornar

+ +

Un altre exemple sobre l'ús que es pot fer sobre l'operador coma és processar abansd e retornar. Com s'indica, només l'últim element serà retornat, però tots els altres també seràn avaluats. Així doncs, es podria fer:

+ +
function myFunc () {
+  var x = 0;
+
+  return (x += 1, x); // the same of return ++x;
+}
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
ECMAScript 1st Edition.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-11.14', 'Comma operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-comma-operator', 'Comma operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic3.0
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/conditional_operator/index.html b/files/ca/web/javascript/reference/operators/conditional_operator/index.html new file mode 100644 index 0000000000..15265c62b3 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/conditional_operator/index.html @@ -0,0 +1,170 @@ +--- +title: Operador Condicional (ternari) +slug: Web/JavaScript/Referencia/Operadors/Conditional_Operator +translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador condicional (ternari) és l'únic operador de JavaScript que opera amb tres operands. Aquest operador és freqüentment usat com una simplificació de la sentència if.

+ +

Sintaxi

+ +
condition ? expr1 : expr2 
+ +

Paràmetres

+ +
+
condition
+
Una expressió que avalua true o false.
+
+ +
+
expr1, expr2
+
Expressions amb valors de qualsevol tipus.
+
+ +

Descripció

+ +

Si condition és true, l'operador retorna el valor de expr1; de ser el contrari, retorna el valor de expr2. Per exemple, per mostrar diferents missatges basats en el valor de la variable isMember, es podria fer servir aquesta sentència:

+ +
"The fee is " + (isMember ? "$2.00" : "$10.00")
+
+ +

També es pot assignar variables depenent del resultat ternari:

+ +
var elvisLives = Math.PI > 4 ? "Yep" : "Nope";
+ +

És possible realitzar avaluacions ternàries múltiples (nota: L'operador condicional operator s'associa per la dreta):

+ +
var firstCheck = false,
+    secondCheck = false,
+    access = firstCheck ? "Access denied" : secondCheck ? "Access denied" : "Access granted";
+
+console.log( access ); // logs "Access granted"
+ +

També es pot usar avaluacions ternàries en espais lliures per tal de fer diferents operacions:

+ +
var stop = false, age = 16;
+
+age > 18 ? location.assign("continue.html") : stop = true;
+
+ +

També es pot fer més d'una sola operació per cas, separant-les amb una coma:

+ +
var stop = false, age = 23;
+
+age > 18 ? (
+    alert("OK, you can go."),
+    location.assign("continue.html")
+) : (
+    stop = true,
+    alert("Sorry, you are much too young!")
+);
+
+ +

I per últim, també es pot fer més d'una operació durant l'assignació d'un valor. En aquest cas, el últim valor del parèntesis serparat per una coma serà el valor assignat.

+ +
var age = 16;
+
+var url = age > 18 ? (
+    alert("OK, you can go."),
+    // alert returns "undefined", but it will be ignored because
+    // isn't the last comma-separated value of the parenthesis
+    "continue.html" // the value to be assigned if age > 18
+) : (
+    alert("You are much too young!"),
+    alert("Sorry :-("),
+    // etc. etc.
+    "stop.html" // the value to be assigned if !(age > 18)
+);
+
+location.assign(url); // "stop.html"
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició deECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-11.12', 'The conditional operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-conditional-operator', 'Conditional Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/function/index.html b/files/ca/web/javascript/reference/operators/function/index.html new file mode 100644 index 0000000000..0908f591b6 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/function/index.html @@ -0,0 +1,146 @@ +--- +title: function expression +slug: Web/JavaScript/Referencia/Operadors/function +translation_of: Web/JavaScript/Reference/Operators/function +--- +
{{jsSidebar("Operators")}}
+ +

La paraula clau function es pot utilitzar per definir una funció dins d'una expressió.

+ +

Sintaxi

+ +
function [nom]([paràm1[, paràm2[, ..., paràmN]]]) {
+   sentències
+}
+ +

Paràmetres

+ +
+
nom
+
El nom de la funció. Es pot ometre, i en aquest cas la funció seria anònima. El nom és només local pel cos de la funció.
+
paràmN
+
El nom d'un argument que es passa a la funció.
+
sentències
+
Les sentències que constitueixen el cos de la funció.
+
+ +

Descripció

+ +

Una expressió d'una funció és molt semblant i té gairebé la mateixa sintaxi que una sentència d'una funció (function sentència d'una funció per més detalls). La principal diferència entre l'expressió d'una funció i una sentèndia d'una expressió és el nom de la functió, el qual es pot ometre en expressions de funcions per tal de crear funcions anònimes. Una expressió d'una funció es pot utilitzar com a un IIFE (Immediately Invoked Function Expression) que s'executa un cop s'ha definit. Vegeu també el capítol sobre funcions per més informació.

+ +

Exemples

+ +

L'exemple següent defineix una funció sense nom i l'assigna a x. La funció retorna el quadrat del seu argument:

+ +
var x = function(y) {
+   return y * y;
+};
+
+ +

Expressió d'una funció amb nom

+ +

Si vols fer referència a la funció actual dins del cos de la funció, necessitaràs crear una expressió d'una funció amb nom. Aquest nom és llavors només local pel cos de la funció (àmbit). AIxò també evita utilitzar la propietat no estàndard arguments.callee.

+ +
var math = {
+  'factorial': function factorial(n) {
+    if (n <= 1)
+      return 1;
+    return n * factorial(n - 1);
+  }
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-13', 'Function definition')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-13', 'Function definition')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.5.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/grouping/index.html b/files/ca/web/javascript/reference/operators/grouping/index.html new file mode 100644 index 0000000000..45e8566806 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/grouping/index.html @@ -0,0 +1,128 @@ +--- +title: Operador d'agrupament +slug: Web/JavaScript/Referencia/Operadors/Grouping +translation_of: Web/JavaScript/Reference/Operators/Grouping +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador d'agrupament ( ) controla la precedència de l'avaluació en expresions.

+ +

Sintaxi

+ +
 ( )
+ +

Descripció

+ +

L'operador agrupament consisteix en un parell de parèntesis que embolcallen una expressió o una sub-expressió per anular la precedència d'operadors normal de forma que expressions amb un nivell més baix de precedència poden ser avaluades abans d'una expressió amb més prioritat.

+ +

Exemples

+ +

Primer predomina la multiplicació i la divisió, després la suma i la resta per tal d'avaluar primer la suma.

+ +
var a = 1;
+var b = 2;
+var c = 3;
+
+// default precedence
+a + b * c     // 7
+// evaluated by default like this
+a + (b * c)   // 7
+
+// now overriding precedence
+// addition before multiplication
+(a + b) * c   // 9
+
+// which is equivalent to
+a * c + b * c // 9
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-11.1.6', 'The Grouping Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-grouping-operator', 'The Grouping Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/index.html b/files/ca/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..4a70edc4fb --- /dev/null +++ b/files/ca/web/javascript/reference/operators/index.html @@ -0,0 +1,282 @@ +--- +title: Expressions and operators +slug: Web/JavaScript/Referencia/Operadors +tags: + - JavaScript + - NeedsTranslation + - Operators + - TopicStub +translation_of: Web/JavaScript/Reference/Operators +--- +
{{jsSidebar("Operators")}}
+ +

Aquest capítol documenta totls els operadors, expressions i paraules clau del llenguatge JavaScript.

+ +

Expressions i operadors per categoria

+ +

Per a un llistat en order alfabetic vegeu el menú de l'esquerra.

+ +

Expressions primàries

+ +

Paraules clau bàsiques i expressions generals en JavaScript.

+ +
+
{{jsxref("Operadors/this", "this")}}
+
La paraula clau this fa referència al contexte d'execució de la funció actual.
+
{{jsxref("Operadors/function", "function")}}
+
La paraula clau function defineix una expressió de funció.
+
{{experimental_inline()}} {{jsxref("Operadors/function*", "function*")}}
+
La paraula clau function* defineix una expressió de funció generadora.
+
{{experimental_inline()}} {{jsxref("Operadors/yield", "yield")}}
+
Pausa i resumeix una funció generadora.
+
{{experimental_inline()}} {{jsxref("Operadors/yield*", "yield*")}}
+
Delega a una altra funció generadora o objecte iterable.
+
{{jsxref("Global_Objects/Array", "[]")}}
+
Sintaxi d'inicialització o literal d'arrays.
+
{{jsxref("Operators/Object_initializer", "{}")}}
+
Sintaxi d'inicialitzador o literal d'objectes.
+
{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
+
Sintaxi de literals formats per expressions regulars.
+
{{experimental_inline()}} {{jsxref("Operadors/Array_comprehensions", "[for (x of y) x]")}}
+
Comprensió d'arrays.
+
{{experimental_inline()}} {{jsxref("Operadors/Generator_comprehensions", "(for (x of y) y)")}}
+
Comprensió de generators.
+
{{jsxref("Operadors/Grouping", "( )")}}
+
Operador d'agrupament.
+
+ +

Expressions de banda esquerra

+ +

Els valors de l'esquerra són la destinació d'una assignació.

+ +
+
{{jsxref("Operadors/Property_accessors", "Property accessors", "", 1)}}
+
Els operadors membres proporcionen accés a una propietat o mètode d'un objecte
+ (object.property i object["property"]).
+
{{jsxref("Operadors/new", "new")}}
+
L'operador new crea una instància d'un constructor.
+
{{experimental_inline()}} {{jsxref("Operadors/super", "super")}}
+
La paraula clau super crida el constructor de l'objecte pare.
+
{{experimental_inline()}} {{jsxref("Operadors/Spread_operator", "...obj")}}
+
L'operador d'extensió permet que una expressió s'expandeixi en llocs on s'esperen mútiples argurments (per a crides de funcions) o elements (per a literals d'arrays).
+
+ +

Increment i decrement

+ +

Operadors de increment o decrement en forma de prefix/sufix.

+ +
+
{{jsxref("Operadors/Arithmetic_Operators", "A++", "#Increment")}}
+
Operador sufix d'increment.
+
{{jsxref("Operadors/Arithmetic_Operators", "A--", "#Decrement")}}
+
Operador sufix de decrement.
+
{{jsxref("Operadors/Arithmetic_Operators", "++A", "#Increment")}}
+
Operador prefix d'increment.
+
{{jsxref("Operadors/Arithmetic_Operators", "--A", "#Decrement")}}
+
Operador prefix de decrement.
+
+ +

Operadors unaris

+ +

Un operador unari és un operador que només accepta un operand.

+ +
+
{{jsxref("Operadors/delete", "delete")}}
+
L'operador delete esborra una propietat d'un objecte.
+
{{jsxref("Operadors/void", "void")}}
+
L'operador void evalua una expressió i descarta el que retorni.
+
{{jsxref("Operadors/typeof", "typeof")}}
+
L'operador typeof determina el tipus d'un objecte donat.
+
{{jsxref("Operadors/Arithmetic_Operators", "+", "#Unary_plus")}}
+
L'operador unari més converteix l'operand donat al tipus Number.
+
{{jsxref("Operadors/Arithmetic_Operators", "-", "#Unary_negation")}}
+
L'operador unari negació converteix l'operand donat al tipus Number i llavors el nega.
+
{{jsxref("Operadors/Bitwise_Operators", "~", "#Bitwise_NOT")}}
+
Operador binari NOT.
+
{{jsxref("Operadors/Logical_Operators", "!", "#Logical_NOT")}}
+
Operador lògic NOT.
+
+ +

Operadors aritmètics

+ +

Els operadors aritmètics accepten valors numèrics (ja siguin literals o variables) com a operands i retornen un únic valor numèric.

+ +
+
{{jsxref("Operadors/Arithmetic_Operators", "+", "#Addition")}}
+
Operador de suma.
+
{{jsxref("Operadors/Arithmetic_Operators", "-", "#Subtraction")}}
+
Operador de resta.
+
{{jsxref("Operadors/Arithmetic_Operators", "/", "#Division")}}
+
Operador de divisió.
+
{{jsxref("Operadors/Arithmetic_Operators", "*", "#Multiplication")}}
+
Operador de multiplicació.
+
{{jsxref("Operadors/Arithmetic_Operators", "%", "#Remainder")}}
+
Operador de mòdul.
+
+ +

Operadors relacionals

+ +

Els operadors relacionals compara els operands donats i retorna un valor de tipus Boolean value basat en si la relació és certa o no.

+ +
+
{{jsxref("Operadors/in", "in")}}
+
L'operador in determina si un objecte té la propietat donada.
+
{{jsxref("Operadors/instanceof", "instanceof")}}
+
L'operador instanceof determina si un objecte és una instància d'un altre objecte.
+
{{jsxref("Operadors/Comparison_Operators", "<", "#Less_than_operator")}}
+
Operador menor que.
+
{{jsxref("Operadors/Comparison_Operators", ">", "#Greater_than_operator")}}
+
Operador major que.
+
{{jsxref("Operadors/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
+
Operador menor o igual que.
+
{{jsxref("Operadors/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
+
Operador major o igual que.
+
+ +

Operadors d'igualtat

+ +

El resultat d'evaluar un operador d'igualtat és sempre de tipus Boolean i el resultat es basa en si la comparació és certa.

+ +
+
{{jsxref("Operadors/Comparison_Operators", "==", "#Equality")}}
+
Operador d'igulatat.
+
{{jsxref("Operadors/Comparison_Operators", "!=", "#Inequality")}}
+
Operador de no igualtat.
+
{{jsxref("Operadors/Comparison_Operators", "===", "#Identity")}}
+
Operador identitat.
+
{{jsxref("Operadors/Comparison_Operators", "!==", "#Nonidentity")}}
+
Operador de no identitat.
+
+ +

Operadors de desplaçament de bits

+ +

Operacions que desplacen tots els bits d'un operand.

+ +
+
{{jsxref("Operadors/Bitwise_Operators", "<<", "#Left_shift")}}
+
Operador de desplaçament de bits a l'esquerra.
+
{{jsxref("Operadors/Bitwise_Operators", ">>", "#Right_shift")}}
+
Operador de desplaçament de bits a la dreta.
+
{{jsxref("Operadors/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
+
Operador de desplaçament a la dreta sense signe.
+
+ +

Operadors binaris

+ +

Els operadors binaris tracten els seus operands com un conjunt de 32 bits (uns i zeros) i retornen valors numèrics standards de JavaScript.

+ +
+
{{jsxref("Operadors/Bitwise_Operators", "&", "#Bitwise_AND")}}
+
AND binari.
+
{{jsxref("Operadors/Bitwise_Operators", "|", "#Bitwise_OR")}}
+
OR binari.
+
{{jsxref("Operadors/Bitwise_Operators", "^", "#Bitwise_XOR")}}
+
XOR binari.
+
+ +

Operadors lògics

+ +

Els operadors lògics típicament s'utilitzen amb valors booleans (és a dir, logics) i retornen un valor booleà.

+ +
+
{{jsxref("Operadors/Logical_Operators", "&&", "#Logical_AND")}}
+
AND lògic.
+
{{jsxref("Operadors/Logical_Operators", "||", "#Logical_OR")}}
+
OR lògic.
+
+ +

Operador condicional (ternari)

+ +
+
{{jsxref("Operadors/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}
+
+

L'operador condicional retorna un dels dos valors basat en l'evaluació lògica de la condició.

+
+
+ +

Operadors d'assignació

+ +

Els operadors d'assignació asignen un valor a l'operand de l'esquerra basant-se en l'evaluació de l'operand de la dreta.

+ +
+
{{jsxref("Operadors/Assignment_Operators", "=", "#Assignment")}}
+
Operador d'assignació.
+
{{jsxref("Operadors/Assignment_Operators", "*=", "#Multiplication_assignment")}}
+
Assignació de la multiplicació.
+
{{jsxref("Operadors/Assignment_Operators", "/=", "#Division_assignment")}}
+
Assignació de la divisó.
+
{{jsxref("Operadors/Assignment_Operators", "%=", "#Remainder_assignment")}}
+
Assignació del mòdul.
+
{{jsxref("Operadors/Assignment_Operators", "+=", "#Addition_assignment")}}
+
Assignació de la suma.
+
{{jsxref("Operadors/Assignment_Operators", "-=", "#Subtraction_assignment")}}
+
Assignació de la resta.
+
{{jsxref("Operadors/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
+
Assignació del desplaçament a l'esquerra.
+
{{jsxref("Operadors/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
+
Assignació del desplaçament a la dreta.
+
{{jsxref("Operadors/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
+
Assignació del desplaçament a la dreta sense signe.
+
{{jsxref("Operadors/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
+
Assignació de l'AND binari.
+
{{jsxref("Operadors/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
+
Assignació del XOR binari.
+
{{jsxref("Operadors/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
+
Assignació de l'OR binari.
+
{{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "[a, b] = [1, 2]")}}
+ {{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}
+
+

L'assignació de desestructuració permet assignar les propietats d'un array o objecte a variables utilitzant una sintaxi que recorda la de literals d'arrays o objectes.

+
+
+ +

Operador coma

+ +
+
{{jsxref("Operadors/Comma_Operator", ",")}}
+
L'operador coma permet que múltiples expressions siguin evaluades en una sola sentència i retorna el resultat de l'última expressió.
+
+ +

Característiques no standard

+ +
+
{{non-standard_inline}} {{jsxref("Operadors/Legacy_generator_function", "Legacy generator function", "", 1)}}
+
La paraula clau function es pot emprar per a definir una funció generadora obsoleta dins una expressió. Per a crear una funció generadora obsoleta el cos de la funció ha de contindre al menys una expressió {{jsxref("Operators/yield", "yield")}}.
+
{{non-standard_inline}} {{jsxref("Operadors/Expression_closures", "Expression closures", "", 1)}}
+
La sintaxi d'expressions closure és una abreviació per a escriure funcions simples.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-11', 'Expressions')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'Llenguatge ECMAScript: Expressions')}}{{Spec2('ES6')}} +

Nou: L'operador d'extensió, l'assignació de desestructuració, la paraula clau super, la comprensió d'arrays i la comprensió de generadors

+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/super/index.html b/files/ca/web/javascript/reference/operators/super/index.html new file mode 100644 index 0000000000..c19e58cba1 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/super/index.html @@ -0,0 +1,119 @@ +--- +title: super +slug: Web/JavaScript/Referencia/Operadors/super +translation_of: Web/JavaScript/Reference/Operators/super +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

La paraula clau super s'utilitza per cridar funcions del pare de l'objecte.

+ +

Sintaxi

+ +
super([arguments]); // crida el constructor del pare.
+super.functionOnParent([arguments]);
+
+ +

Descripció

+ +

Quan s'utilitza en un constructor, la paraula clau super apareix sola i s'ha d'utilitzar abans de la paraula clau this. Aquesta paraula clau també es pot utilitzar per cridar funcions en un objecte pare.

+ +

Exemple

+ +

Aquest fragment de codi es pren de la mostra de classes  mostra de classes (demostració en viu).

+ +
class Square extends Polygon {
+  constructor(length) {
+    // Aquí es crida el constructor del pare de la classe amb les longituds
+    // proveïdes per l'alçada i l'amplada del polígon
+    super(length, length);
+    // Nota: En classes derivades, s'ha de cridar super() abans de poder
+    // utilitzar 'this'. Obviar això causarà un error de referència.
+    this.name = 'Square';
+  }
+
+  get area() {
+    return this.height * this.width;
+  }
+
+  set area(value) {
+    this.area = value;
+  }
+}
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-super-keyword', 'super')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}}{{CompatNo}}
+ {{bug(1066239)}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
Safari Mobile + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}{{CompatNo}}
+ {{bug(1066239)}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/typeof/index.html b/files/ca/web/javascript/reference/operators/typeof/index.html new file mode 100644 index 0000000000..a7407e79ce --- /dev/null +++ b/files/ca/web/javascript/reference/operators/typeof/index.html @@ -0,0 +1,240 @@ +--- +title: typeof +slug: Web/JavaScript/Referencia/Operadors/typeof +translation_of: Web/JavaScript/Reference/Operators/typeof +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador typeof retorna una cadena de caràcters que representa el tipus de l'operand, que en cap cas és evaluat.

+ +

Sintaxi

+ +

L'operador typeof va seguit del seu operand:

+ +
typeof operand
+ +

Paràmetres

+ +

operand és una expressió que representa l'objecte o {{Glossary("Primitive", "primitive")}} del qual es retornarà el tipus.

+ +

Descripció

+ +

La taula següent resumeix els possibles valor de typeof. Per més informació sobre tipus i tipus primitius, vegeu també la pàgina de JavaScript data structure.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TipusResultat
Undefined"undefined"
Null"object" (vegeu a sota)
Boolean"boolean"
Number"number"
String"string"
Symbol (nou a l'ECMAScript 6)"symbol"
Host object (proporcionat per l'entorn JS)Depenent de l'implementació
Objecte Funció (implements [[Call]] in ECMA-262 terms)"function"
Qualsevol altre objecte"object"
+ +

Exemples

+ +

Casos normals

+ +
// Numbers
+typeof 37 === 'number';
+typeof 3.14 === 'number';
+typeof Math.LN2 === 'number';
+typeof Infinity === 'number';
+typeof NaN === 'number'; // A pesar de ser un "Not-A-Number"
+typeof Number(1) === 'number'; // però no l'utilitzeu mai així!
+
+
+// Strings
+typeof "" === 'string';
+typeof "bla" === 'string';
+typeof (typeof 1) === 'string'; // typeof sempre retorna una string
+typeof String("abc") === 'string'; // però no l'utilitzeu mai així!
+
+
+// Booleans
+typeof true === 'boolean';
+typeof false === 'boolean';
+typeof Boolean(true) === 'boolean'; // però no l'utilitzeu mai així!
+
+
+// Symbols
+typeof Symbol() === 'symbol'
+typeof Symbol('foo') === 'symbol'
+typeof Symbol.iterator === 'symbol'
+
+
+// Undefined
+typeof undefined === 'undefined';
+typeof blabla === 'undefined'; // una variable no definida
+
+
+// Objects
+typeof {a:1} === 'object';
+
+// utilitzeu Array.isArray o bé Object.prototype.toString.call
+// per a diferenciar objectes normals d'arrays
+typeof [1, 2, 4] === 'object';
+
+typeof new Date() === 'object';
+
+
+// Els següents exemples són confusos, no els utilitzeu!
+typeof new Boolean(true) === 'object';
+typeof new Number(1) === 'object';
+typeof new String("abc") === 'object';
+
+
+// Funcions
+typeof function(){} === 'function';
+typeof Math.sin === 'function';
+
+ +

null

+ +
// Això es manté així des de l'inici de JavaScript
+typeof null === 'object';
+
+ +

A la primera implementació de JavaScript, els valors de JavaScript es representaven com a una etiqueta de tipus i un valor. L'etiqueta de tipus per objectes era 0. null era representat amb el punter NULL (0x00 a la majoria de plataformes). D'aquesta manera null tenia 0 com a etiqueta de tipus, i això és el que determina que typeof retorni 'object' per a null. (referència)

+ +

Es va proposar una esmena per a canviar aquest comportament per l'ECMAScript (via una opt-in), però aquesta va ser rebutjada. El resultat hagués estat typeof null === 'null'.

+ +

Expressions regulars

+ +

Expressions regulars que poden ser cridades van ser un afegit no standard en alguns navegadors web.

+ +
typeof /s/ === 'function'; // Chrome 1-12 No cumpleix l'standard ECMAScript 5.1
+typeof /s/ === 'object';   // Firefox 5+  D'acord amb ECMAScript 5.1
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
1a edició ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1
{{SpecName('ES5.1', '#sec-11.4.3', 'The typeof Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-typeof-operator', 'The typeof Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Els objects host a Internet Explorer són objectes en comptes de funcions

+ +

A IE 6, 7, i 8 molts dels host objects són objectes i no funcions. Per exemple:

+ +
typeof alert === 'object'
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/void/index.html b/files/ca/web/javascript/reference/operators/void/index.html new file mode 100644 index 0000000000..ddf98ebfd9 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/void/index.html @@ -0,0 +1,138 @@ +--- +title: L'operador void +slug: Web/JavaScript/Referencia/Operadors/void +translation_of: Web/JavaScript/Reference/Operators/void +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

L'operador void evalua l'expressió donada i retorna undefined.

+ +

Sintaxi

+ +
void expressió
+ +

Descripció

+ +

Aquest operador permet inserir expressions que produeixen efectes secundaris en llocs on es vol una expressió que s'evalui a undefined.

+ +

L'operador void tot sovint s'utilitza simplement per a obtenir el valor primitiu undefined, normalment usant "void(0)" (que és equivalent a "void 0"). En aquests casos es pot utilitzar la variable global undefined en comptes de l'operador void (asumint que no ha sigut assignada a un valor no standard).

+ +

Expressions de funció invocades de forma immediata

+ +

A l'utilitzar una expressió de funció invocada de forma immediata, es pot usar void per a forçar que la paraula clau function sigui tractada com a una expressió en comptes d'una declaració.

+ +
void function iife() {
+    var bar = function () {};
+    var baz = function () {};
+    var foo = function () {
+        bar();
+        baz();
+     };
+    var biz = function () {};
+
+    foo();
+    biz();
+}();
+
+ +

URIs de JavaScript

+ +

Quan un navegador segueix una URI de l'estil javascript: , aquest evalua el codi que hi ha a la URI i llavors reemplaça el contingut de la pàgina amb el valor retornat, a no ser que el valor retornat sigui undefined. L'operador void pot ser emprat en aquest case per a retornar undefined. Per exemple:

+ +
<a href="javascript:void(0);">
+  Cliqueu aquí per a no fer res
+</a>
+
+<a href="javascript:void(document.body.style.backgroundColor='green');">
+  Clique aquí per a un fons de color verd
+</a>
+
+ +

Tingueu en compte, però, que el pseudo protocol javascript: no és recomanat ja que existeixen alternatives, com ara manegadors d'events no obtrusius.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat al JavaScript 1.1
{{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-void-operator', 'The void Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/yield/index.html b/files/ca/web/javascript/reference/operators/yield/index.html new file mode 100644 index 0000000000..d01f641767 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/yield/index.html @@ -0,0 +1,152 @@ +--- +title: yield +slug: Web/JavaScript/Referencia/Operadors/yield +translation_of: Web/JavaScript/Reference/Operators/yield +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

La paraula clau yield s'utilitza per a pausar i reprendre una funció generadora ({{jsxref("Statements/function*", "function*")}} o bé una funció generadora obsoleta).

+ +

Sintaxi

+ +
 yield [[expressió]];
+ +
+
expressió
+
La expresssió a retornar. Si s'omet es retorna undefined.
+
+ +

Descripció

+ +

La paraula clau yield causa que l'execució d'una funció generadora es pausi i retorni el valor de l'expressió que la segueix. La paraula clau yield es pot entendre com una versió de la paraula clau return per a generadors.

+ +

La paraula clau yield retorna en realitat un objecte de tipus IteratorResult amb dues propietats: value i done. La propietat value és el resultat d'evaluar l'expresssió que segueix yield mentre que la propietat done és de tipus booleà i indica si la funció generadora ha completat la seva execució o no.

+ +

Un cop pausada mitjançant una expressió yield, l'execució de codi del generador no es reprendrà a no ser que s'invoqui externament mitjançant la crida a la funció next() del generador. Això permet un control directe de l'execució del generador i valors de retorn incrementals.

+ +

Exemples

+ +

El següent codi és un exemple de la declaració d'una funció generadora al llarg d'una funció d'ajut.

+ +
function* foo(){
+  var index = 0;
+  while (index <= 2) // quan index arriba a 3,
+                     // la propietat done del yield serà true
+                     // i el seu valor serà undefined;
+    yield index++;
+}
+ +

Un cop la funció generadora és definida es pot utilitzar tot construïnt un iterador tal i com es mostra a continuació:

+ +
var iterator = foo();
+console.log(iterator.next()); // { value:0, done:false }
+console.log(iterator.next()); // { value:1, done:false }
+console.log(iterator.next()); // { value:2, done:false }
+console.log(iterator.next()); // { value:undefined, done:true }
+ +

Especificacions

+ + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#', 'Yield')}}{{Spec2('ES6')}}Definició inicial
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Suport bàsic39{{CompatGeckoDesktop("26.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Objecte IteratorResult en comptes de throwing{{CompatUnknown}}{{CompatGeckoDesktop("29.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsicyes (when?){{CompatGeckoMobile("26.0")}}{{CompatUnknown}}{{ CompatUnknown}}{{CompatUnknown}}
Objecte IteratorResult en comptes de throwing{{CompatUnknown}}{{CompatGeckoMobile("29.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Notes específiques per a Firefox

+ + + +

Vegeu tambè

+ + -- cgit v1.2.3-54-g00ecf