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/global_objects/boolean/index.html | 118 ++++ .../reference/global_objects/dataview/index.html | 147 +++++ .../reference/global_objects/date/index.html | 222 +++++++ .../reference/global_objects/error/index.html | 151 +++++ .../reference/global_objects/evalerror/index.html | 124 ++++ .../reference/global_objects/map/index.html | 126 ++++ .../reference/global_objects/number/index.html | 126 ++++ .../reference/global_objects/object/index.html | 215 ++++++ .../reference/global_objects/set/index.html | 124 ++++ .../global_objects/syntaxerror/index.html | 122 ++++ .../reference/global_objects/weakmap/index.html | 133 ++++ .../reference/global_objects/weakset/index.html | 132 ++++ .../web/javascript/reference/operators/index.html | 287 ++++++++ .../index.html | 719 +++++++++++++++++++++ .../index.html | 302 +++++++++ 15 files changed, 3048 insertions(+) create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/boolean/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/dataview/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/date/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/error/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/evalerror/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/map/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/number/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/object/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/set/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/syntaxerror/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/weakmap/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/global_objects/weakset/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/operators/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/operators_94c03c413a71df1ccff4c3ede275360c/index.html create mode 100644 files/ca/conflicting/web/javascript/reference/operators_af596841c6a3650ee514088f0e310901/index.html (limited to 'files/ca/conflicting/web/javascript') diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/boolean/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/boolean/index.html new file mode 100644 index 0000000000..e0845eb102 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/boolean/index.html @@ -0,0 +1,118 @@ +--- +title: Boolean.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Boolean +translation_of_original: Web/JavaScript/Reference/Global_Objects/Boolean/prototype +--- +
{{JSRef("Global_Objects", "Boolean")}}
+ +

Resum

+ +

La propietat Boolean.prototype representa el prototipus pel constructor {{jsxref("Global_Objects/Boolean", "Boolean")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Les instàncies de {{jsxref("Global_Objects/Boolean", "Boolean")}} hereten de Boolean.prototype. Es pot emprar l'objecte prototipus del constructor per a afegir noves propietats o mètodes a totes les instàncies de {{jsxref("Global_Objects/Boolean", "Boolean")}}.

+ +

Propietats

+ +
+
Boolean.prototype.constructor
+
Retorna la funció que ha creat la instància del prototipus. Aquesta funció és {{jsxref("Global_Objects/Boolean", "Boolean")}} per defecte.
+
+ +
{{jsOverrides("Object", "properties", "constructor")}}
+ +

Mètodes

+ +
+
{{jsxref("Boolean.prototype.toSource()")}} {{non-standard_inline}}
+
Retorna una cadena de caràcters que conté el codi fond de l'objecte {{jsxref("Global_Objects/Boolean", "Boolean")}}; aquesta pot utilitzar-se per a crear un objecte equivalent. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
+
{{jsxref("Boolean.prototype.toString()")}}
+
Retorna una cadena de caràcters que valdrà o bé "true" o bé "false", depenent del valor que l'objecte representi. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
+
{{jsxref("Boolean.prototype.valueOf()")}}
+
Retorna el valor primitiu de l'objecte {{jsxref("Global_Objects/Boolean", "Boolean")}}. Sobreescriu el mètode {{jsxref("Object.prototype.valueOf()")}}.
+
+ +
{{jsOverrides("Object", "methods", "toSource", "toString", "valueOf")}}
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.6.3.1', 'Boolean.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean.prototype', 'Boolean.prototype')}}{{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}}
+
diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/dataview/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/dataview/index.html new file mode 100644 index 0000000000..ebd6cbe729 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/dataview/index.html @@ -0,0 +1,147 @@ +--- +title: DataView.prototype +slug: Web/JavaScript/Reference/Global_Objects/DataView/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/DataView +translation_of_original: Web/JavaScript/Reference/Global_Objects/DataView/prototype +--- +
{{JSRef}}
+ +

La propietat DataView.prototype representa el prototip de l'objecte {{jsxref("DataView")}}.

+ +
{{js_property_attributes(0,0,0)}}
+ +

Descripció

+ +

Les instàncies DataView hereten de DataView.prototype. Com passa amb tots els constructors, podeu canviar l'objecte prototip del constructor per produir canvis a totes les instàncies DataView.

+ +

Propietats

+ +
+
DataView.prototype.constructor
+
Especifica la funció que crea un prototip de l'objecte. El valor inicial és el constructor integrat estàndard DataView.
+
{{jsxref("DataView.prototype.buffer")}} {{readonlyInline}}
+
L'{{jsxref("ArrayBuffer")}} referenciat per aquesta vista. Fixat en el temps de construcció i per tant és només de lectura.
+
{{jsxref("DataView.prototype.byteLength")}} {{readonlyInline}}
+
La llargària (en bytes) d'aquesta vista des del començament del seu {{jsxref("ArrayBuffer")}}. Fixat en el temps de construcció i per tant és només de lectura.
+
{{jsxref("DataView.prototype.byteOffset")}} {{readonlyInline}}
+
La posició (en bytes) d'aquesta vista des de l'inici del seu {{jsxref("ArrayBuffer")}}. Fixat en el temps de construcció i per tant és només de lectura.
+
+ +

Mètodes

+ +

Lectura

+ +
+
{{jsxref("DataView.prototype.getInt8()")}}
+
Obté un nombre sencer (byte) de 8 bits amb signe al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getUint8()")}}
+
Obté un nombre sencer sense signe de 8 bits (unsigned byte) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getInt16()")}}
+
Obté un nombre sencer de 16 bits (short) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getUint16()")}}
+
Obté un nombre sencer sense signe de 16 bits (unsigned short) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getInt32()")}}
+
Obté un nombre sencer de 32 bits (long) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getUint32()")}}
+
Obté un nombre sencer sense signe de 31 bits (unsigned long) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getFloat32()")}}
+
Obté un nombre en coma flotant amb signe de 32 bits (float) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.getFloat64()")}}
+
Obté un nombre en coma flotant amb signe de 64 bits (double) al byte de posició especificat des de l'inici de la vista.
+
+ +

Escritura

+ +
+
{{jsxref("DataView.prototype.setInt8()")}}
+
Emmagatzema el valor d'un nombre sencer de 8 bits (byte) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setUint8()")}}
+
Emmagatzema el valor d'un nombre sencer sense signe de 8 bits (unsigned byte) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setInt16()")}}
+
Emmagatzema el valor d'un nombre sencer amb signe de 16 bits (short) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setUint16()")}}
+
Emmagatzema el valor d'un nombre sencer sense signe de 16 bits (unsigned short) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setInt32()")}}
+
Emmagatzema el valor d'un nombre sencer amb signe de 32 bits (long) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setUint32()")}}
+
Emmagatzema el valor d'un nombre sencer sense signe de 32 bits  (unsigned long) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setFloat32()")}}
+
Emmagatzema el valor d'un nombre en coma flotant amb signe de 32 bits (float) al byte de posició especificat des de l'inici de la vista.
+
{{jsxref("DataView.prototype.setFloat64()")}}
+
Emmagatzema el valor d'un nombre en coma flotant amb signe de 64 bits (double) al byte de posició especificat des de l'inici de la vista.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-dataview.prototype', 'DataView.prototype')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegador

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic9.0{{ CompatGeckoDesktop("15.0") }}1012.15.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic4.0{{CompatVersionUnknown}}{{CompatGeckoMobile("15")}}{{CompatUnknown}}12.04.2
+
+ +

Vegeu també

+ + diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/date/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/date/index.html new file mode 100644 index 0000000000..91e2dff38f --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/date/index.html @@ -0,0 +1,222 @@ +--- +title: Date.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/Date/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Date +translation_of_original: Web/JavaScript/Reference/Global_Objects/Date/prototype +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

La propietat Date.prototype representa el prototipus per al constructor {{jsxref("Global_Objects/Date", "Date")}}.

+ +
{{js_property_attributes(0, 0, 1)}}
+ +

Descripció

+ +

Les instàncies de JavaScript de {{jsxref("Global_Objects/Date", "Date")}} hereten de Date.prototype. L'objecte prototipus del constructor pot modificar-se per a afectar a les propietats i mètodes heretats per les instàncies de {{jsxref("Global_Objects/Date", "Date")}}.

+ +

Per a compatibilitat amb càlculs amb milenis (en altres paraules, per a tindre en compte l'any 2000), sempre s'hauria d'especificar l'any sencer, per exemple, 1998, en comptes de 98. Per a ajudar a proveïr l'any sencer JavaScript inclou els mètodes {{jsxref("Date.prototype.getFullYear()", "getFullYear()")}}, {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}}, {{jsxref("Date.prototype.getUTCFullYear()", "getUTCFullYear()")}} i {{jsxref("Date.prototype.setUTCFullYear()", "setUTCFullYear()")}}.

+ +

Propietats

+ +
+
Date.prototype.constructor
+
Retorna la funció que va crear la instància. És a dir, per defecte el constructor {{jsxref("Global_Objects/Date", "Date")}}.
+
+ +
{{jsOverrides("Object", "properties", "constructor")}}
+ +

Mètodes

+ +

Getter

+ +
+
{{jsxref("Date.prototype.getDate()")}}
+
Retorna el dia del mes (1-31) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getDay()")}}
+
Retorna el dia de la setmana (0-6) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getFullYear()")}}
+
Retorna l'any (4 digits per a anys de 4 digits) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getHours()")}}
+
Retorna l'hora (0-23) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getMilliseconds()")}}
+
Retorna els milisegons (0-999) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getMinutes()")}}
+
Retorna els minuts (0-59) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getMonth()")}}
+
Retorna el mes (0-11) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getSeconds()")}}
+
Retorna els segons (0-59) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.getTime()")}}
+
Retorna un valor numèric per a la data especificada que representa la data especificada com al nombre de milisegons que han passat des de l'1 de gener de 1970, 00:00:00 UTC (negatiu per a dates anteriors).
+
{{jsxref("Date.prototype.getTimezoneOffset()")}}
+
Retorna la diferència d'ús horari en minuts del temps local.
+
{{jsxref("Date.prototype.getUTCDate()")}}
+
Retorna el dia del mes (1-31) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCDay()")}}
+
Retorna el dia de la setmana (0-6) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCFullYear()")}}
+
Retorna l'any (4 digits per a anys de 4 digits) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCHours()")}}
+
Retorna l'hora (0-23) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCMilliseconds()")}}
+
Retorna els milisegons (0-999) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCMinutes()")}}
+
Retorna els minuts (0-59) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCMonth()")}}
+
Retorna el mes (0-11) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getUTCSeconds()")}}
+
Retorna els segons (0-59) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.getYear()")}} {{deprecated_inline}}
+
Retorna l'any (normalment 2-3 digits) per a la data especificada, en temps local. En comptes d'aquest mètode, utilitzeu  {{jsxref("Date.prototype.getFullYear()", "getFullYear()")}}.
+
+ +

Setter

+ +
+
{{jsxref("Date.prototype.setDate()")}}
+
Assigna el dia del mes per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setFullYear()")}}
+
Assigna l'any sencer (és a dir, de 4 digits per a un any amb 4 digits) per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setHours()")}}
+
Assigna l'hora per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setMilliseconds()")}}
+
Assigna els milisegons per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setMinutes()")}}
+
Assigna els minuts per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setMonth()")}}
+
Assigna el mes per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setSeconds()")}}
+
Assigna els segons per a la data especificada, en temps local.
+
{{jsxref("Date.prototype.setTime()")}}
+
Assigna la data que representarà la instància de l'objecte {{jsxref("Global_Objects/Date", "Date")}} al temps representat pel nombre de milisegons passats des de l'1 de gener de 1970, 00:00:00 UTC. Permet nombres negatius per a temps anteriors a aquesta data.
+
{{jsxref("Date.prototype.setUTCDate()")}}
+
Assigna el dia del mes per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setUTCFullYear()")}}
+
Assigna l'any sencer (és a dir, 4 digits per a anys de 4 digits) per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setUTCHours()")}}
+
Assigna l'hora per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setUTCMilliseconds()")}}
+
Assigna els milisegons per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setUTCMinutes()")}}
+
Assigna els minuts per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setUTCMonth()")}}
+
Assigna el mes per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setUTCSeconds()")}}
+
Assigna els segons per a la data especificada en temps universal (UTC).
+
{{jsxref("Date.prototype.setYear()")}} {{deprecated_inline}}
+
Assigna l'any (normalment 2-3 digits) per a la data especificada en temps local. Utilitzeu {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}} en comptes d'aquest mètode.
+
+ +

Getters amb conversió

+ +
+
{{jsxref("Date.prototype.toDateString()")}}
+
Retorna la part part de data de {{jsxref("Global_Objects/Date", "Date")}} com a string inteligible per humans.
+
{{jsxref("Date.prototype.toISOString()")}}
+
Converteix una data a un string seguint el Format Extés del ISO 8601.
+
{{jsxref("Date.prototype.toJSON()")}}
+
Retorna un string que representa l'objecte {{jsxref("Global_Objects/Date", "Date")}} utilitzant  {{jsxref("Date.prototype.toISOString()", "toISOString()")}}. Ideat per a ser usat per {{jsxref("JSON.stringify()")}}.
+
{{jsxref("Date.prototype.toGMTString()")}} {{deprecated_inline}}
+
Retorna un string que representa l'objecte {{jsxref("Global_Objects/Date", "Date")}} basat en la zona horària GMT (UT). Utilitzeu {{jsxref("Date.prototype.toUTCString()", "toUTCString()")}} en comptes d'aquest mètode.
+
{{jsxref("Date.prototype.toLocaleDateString()")}}
+
Retorna un string que representa la part de la data amb temps local, basat en la configuració del sistema.
+
{{jsxref("Date.prototype.toLocaleFormat()")}} {{non-standard_inline}}
+
Converteix una data a string tot utilitzant un format string.
+
{{jsxref("Date.prototype.toLocaleString()")}}
+
Retorna un string que representa la data tenint en compte el temps local. Sobreescriu el mètode {{jsxref("Object.prototype.toLocaleString()")}}.
+
{{jsxref("Date.prototype.toLocaleTimeString()")}}
+
Retorna un string que representa la part de temps de la data local basada en la configuració del sistema.
+
{{jsxref("Date.prototype.toSource()")}} {{non-standard_inline}}
+
Retorna un string que representa el codi font per a un objecte {{jsxref("Global_Objects/Date", "Date")}} equivalent; aquest valor pot emprar-se per a crear un nou objecte. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
+
{{jsxref("Date.prototype.toString()")}}
+
Retorna un string que representa l'objecte {{jsxref("Global_Objects/Date", "Date")}} especificat. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
+
{{jsxref("Date.prototype.toTimeString()")}}
+
Retorna la part de temps de l'objecte {{jsxref("Global_Objects/Date", "Date")}} com a string comprensible per humans.
+
{{jsxref("Date.prototype.toUTCString()")}}
+
Converteix una data a un string utilitzant la zona horària UTC.
+
{{jsxref("Date.prototype.valueOf()")}}
+
Retorna el valor primitiu d'un objecte {{jsxref("Global_Objects/Date", "Date")}}. Sobreescriu el mètode {{jsxref("Object.prototype.valueOf()")}}.
+
+ +
{{jsOverrides("Object", "methods", "getDate", "getDay", "getFullYear", "getHours", "getMilliseconds", "getMinutes", "getMonth", "getSeconds", "getTime", "getTimezoneOffset", "getUTCDate", "getUTCDay", "getUTCFullYear", "getUTCHours", "getUTCMilliseconds", "getUTCMinutes", "getUTCMonth", "getUTCSeconds", "getYear", "setdate", "setFullYear", "setHours", "setMilliseconds", "setMinutes", "setMontth", "setSeconds", "setTime", "setUTCDate", "setUTCFullYear", "setUTCHours", "setUTCMilliseconds", "setUTCMinutes", "setUTCMonth", "setUTCSeconds", "setYear", "toDateString", "toGMTString", "toLocaleDateString", "toLocaleFormat", "toLocaleString", "toLocaleTimeString", "toSource", "toString", "toTimeString", "toUTCString", "valueOf")}}
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.9.5', 'Date.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-the-date-prototype-object', 'Date.prototype')}}{{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}}
+
diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/error/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/error/index.html new file mode 100644 index 0000000000..53e22669e9 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/error/index.html @@ -0,0 +1,151 @@ +--- +title: Error.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/Error/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Error +translation_of_original: Web/JavaScript/Reference/Global_Objects/Error/prototype +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
+ +

Resum

+ +

La propietat Error.prototype representa el prototipus per al constructor {{jsxref("Global_Objects/Error", "Error")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Totes les instàncies de {{jsxref("Global_Objects/Error", "Error")}} i les instàncies de {{jsxref("Global_Objects/Error", "non-generic errors", "#Error_types", 1)}} heretèn de Error.prototype. Com totes les funcions constructores, es pot utilitzar el prototipus del constructor per a afegir propietats o mètodes a totes les instànces creades amb aquest constructor.

+ +

Propietats

+ +

Propietats standard

+ +
+
Error.prototype.constructor
+
Especifica la funció que ha creat la instància del prototipus.
+
{{jsxref("Error.prototype.message")}}
+
Missatge d'error.
+
{{jsxref("Error.prototype.name")}}
+
Nom de l'error.
+
+ +

Extensions específiques del venedor

+ +
{{non-standard_header}}
+ +

Microsoft

+ +
+
{{jsxref("Error.prototype.description")}}
+
Descripció de l'error. Similar a {{jsxref("Error.prototype.message", "message")}}.
+
{{jsxref("Error.prototype.number")}}
+
Nombre de l'error.
+
+ +

Mozilla

+ +
+
{{jsxref("Error.prototype.fileName")}}
+
Ruta al fitxer que ha llençat l'error.
+
{{jsxref("Error.prototype.lineNumber")}}
+
Línia del fitxer que ha llençat l'error.
+
{{jsxref("Error.prototype.columnNumber")}}
+
Nombre de columna de la línia que ha llençat l'error.
+
{{jsxref("Error.prototype.stack")}}
+
Conté la traça de l'error.
+
+ +

Mètodes

+ +
+
{{jsxref("Error.prototype.toSource()")}} {{non-standard_inline}}
+
Retorna un string que conté el codi font de l'objecte {{jsxref("Global_Objects/Error", "Error")}} especificat; es pot emprar aquest valor per a crear un objecte nou. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
+
{{jsxref("Error.prototype.toString()")}}
+
Retorna un string que representa l'objecte especificat. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11.3.1', 'Error')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype', 'Error')}}{{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/conflicting/web/javascript/reference/global_objects/evalerror/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/evalerror/index.html new file mode 100644 index 0000000000..5f83d25a6f --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/evalerror/index.html @@ -0,0 +1,124 @@ +--- +title: EvalError.prototype +slug: Web/JavaScript/Reference/Global_Objects/EvalError/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/EvalError +translation_of_original: Web/JavaScript/Reference/Global_Objects/EvalError/prototype +--- +
{{JSRef}}
+ +

La propietat EvalError.prototype representa el prototip del constructor {{jsxref("EvalError")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Totes les instàncies {{jsxref("EvalError")}} hereten de EvalError.prototype. Es pot utilitzar el prototip per afegir propietats o mètodes a totes les instàncies.

+ +

Propietats

+ +
+
EvalError.prototype.constructor
+
Especifica la funció que ha creat el prototip d'una instància.
+
{{jsxref("Error.prototype.message", "EvalError.prototype.message")}}
+
Missatge d'error. Tot i que l'ECMA-262 especifica que {{jsxref("EvalError")}} hauria de proveir la seva pròpia propietat message, en SpiderMonkey, hereta {{jsxref("Error.prototype.message")}}.
+
{{jsxref("Error.prototype.name", "EvalError.prototype.name")}}
+
Nom de l'error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.fileName", "EvalError.prototype.fileName")}}
+
Camí cap al fitxer que ha llançat aquest error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.lineNumber", "EvalError.prototype.lineNumber")}}
+
Número de línia en el fitxer que ha llançat aquest error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.columnNumber", "EvalError.prototype.columnNumber")}}
+
Número de columna en la línia que ha llançat aquest error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.stack", "EvalError.prototype.stack")}}
+
Traça de l'error. Heretat de {{jsxref("Error")}}.
+
+ +

Mètodes

+ +

Tot i que l'objecte prototip {{jsxref("EvalError")}} no contè cap mètode en si mateix, les instàncies  {{jsxref("EvalError")}} hereten alguns mètodes a través de la cadena prototip.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial
{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}{{Spec2('ES5.1')}}Definit com a NativeError.prototype.
{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}{{Spec2('ES6')}}Definit com a NativeError.prototype.
+ +

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/conflicting/web/javascript/reference/global_objects/map/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/map/index.html new file mode 100644 index 0000000000..3a7508f042 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/map/index.html @@ -0,0 +1,126 @@ +--- +title: Map.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/Map/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Map +translation_of_original: Web/JavaScript/Reference/Global_Objects/Map/prototype +--- +
{{JSRef}}
+ +

La propietat Map.prototype representa el prototipus per al constructor de {{jsxref("Map")}}.

+ +
{{js_property_attributes(0,0,0)}}
+ +

Descripció

+ +

Les instàncies de {{jsxref("Map")}} hereten de {{jsxref("Map.prototype")}}. Es pot utilitzar el prototipus de l'objecte constructor per a afegir propietats o mètodes a totes les instàncies de Map.

+ +

Propietats

+ +
+
Map.prototype.constructor
+
Retorna la funció que ha creat el una instància del prototipus. Per defecte és la funció {{jsxref("Map")}}.
+
{{jsxref("Map.prototype.size")}}
+
Retorna el nombre de parells clau-valor que conté l'objecte Map.
+
+ +

Mètodes

+ +
+
{{jsxref("Map.prototype.clear()")}}
+
Elimina tots els parells clau-valor de l'objecte Map.
+
{{jsxref("Map.delete", "Map.prototype.delete(clau)")}}
+
Elimina el valor associat a la clau especificada i retorna el valor que el mètode Map.prototype.has(valor) hagués retornat abans d'eliminar-lo. Map.prototype.has(clau) retornarà false després de cridar aquest mètode.
+
{{jsxref("Map.prototype.entries()")}}
+
Retorna un nou objecte Iterator que conté un array de [clau, valor] per a cada element dins l'objecte Map, en estricte ordre d'inserció.
+
{{jsxref("Map.forEach", "Map.prototype.forEach(callbackFn[, thisArg])")}}
+
Crida callbackFn per a cada parell clau-valor present a l'objecte Map, recorreguts per ordre d'inserció. Si es proporciona el paràmetre thisArg, aquest s'utilitzarà com a valor de this per a cada crida a callbackFn.
+
{{jsxref("Map.get", "Map.prototype.get(clau)")}}
+
Retorna el valor associat a la clau, o bé undefined si aquesta clau no té cap valor associat.
+
{{jsxref("Map.has", "Map.prototype.has(clau)")}}
+
Retorna un booleà que especifica si la clau té un valor associat en aquest objecte Map o no.
+
{{jsxref("Map.prototype.keys()")}}
+
Retorna un nou objecte Iterator que conté les claus de cada element de l'objecte Map, en ordre d'inserció.
+
{{jsxref("Map.set", "Map.prototype.set(clau, valor)")}}
+
Assigna valor a la clau a l'objecte Map. Retorna l'objecte Map.
+
{{jsxref("Map.prototype.values()")}}
+
Retorna un nou objecte Iterator que conté els valors de cada element de l'objecte Map, en ordre d'inserció.
+
{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}
+
Retorna un nou objecte Iterator que conté un array de [clau, valor] per a cada element de l'objecte Map, en ordre d'inserció.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype', 'Map.prototype')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("13") }}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13")}}{{CompatNo}}{{CompatNo}} +

8

+
+
+ +

Vegeu també

+ + diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/number/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/number/index.html new file mode 100644 index 0000000000..ae733e56ec --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/number/index.html @@ -0,0 +1,126 @@ +--- +title: Number.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/Number/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Number +translation_of_original: Web/JavaScript/Reference/Global_Objects/Number/prototype +--- +
{{JSRef}}
+ +

La propietat Number.prototype representa el prototipus per al constructor {{jsxref("Number")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Totes les instàncies de {{jsxref("Number")}} hereten de Number.prototype. L'objecte prototipus del constructor de {{jsxref("Number")}} pot ser modificat per a afectar totes les instàncies de {{jsxref( "Number")}}.

+ +

Propietats

+ +
+
Number.prototype.constructor
+
Retorna la funció que ha creat la instància d'aquest objecte. Per defecte aquesta és l'objecte {{jsxref("Number")}}.
+
+ +

Mètodes

+ +
+
{{jsxref("Number.prototype.toExponential()")}}
+
Retorna un string que representa el nombre en notació exponencial.
+
{{jsxref("Number.prototype.toFixed()")}}
+
Retorna un string que representa el nombre en notació de punt fixe.
+
{{jsxref("Number.prototype.toLocaleString()")}}
+
Retorna un string amb una representació d'aquest nombbre sensible a la llengua. Sobreescriu el mètode {{jsxref("Object.prototype.toLocaleString()")}}.
+
{{jsxref("Number.prototype.toPrecision()")}}
+
Retorna un string amb una representació de precisió de punt fixe o notació exponencial del nombre.
+
{{jsxref("Number.prototype.toSource()")}} {{non-standard_inline}}
+
Retorna un objecte literal que representa l'objecte {{jsxref("Number")}} especificat; aquest valor pot ser emprat per a crear un nou objecte. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
+
{{jsxref("Number.prototype.toString()")}}
+
Retorna un string que representa l'objecte especificat en el radi (base) especificat. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
+
{{jsxref("Number.prototype.valueOf()")}}
+
Retorna el valor primitiu de l'objecte especificat. Sobreescriu el mètode {{jsxref("Object.prototype.valueOf()")}}.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.4', 'Number')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-the-number-prototype-object', 'Number')}}{{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/conflicting/web/javascript/reference/global_objects/object/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/object/index.html new file mode 100644 index 0000000000..9451ccfefe --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/object/index.html @@ -0,0 +1,215 @@ +--- +title: Object.prototype +slug: Web/JavaScript/Reference/Global_Objects/Object/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Object +translation_of_original: Web/JavaScript/Reference/Global_Objects/Object/prototype +--- +
{{JSRef}}
+ +

La propietat Object.prototype representa el prototipus per a {{jsxref("Object")}}.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

A JavaScript, tots els objectes hereten de {{jsxref("Object")}}; tots els objectes hereten els mètodes i propietats de Object.prototype, tot i que es poden sobreescriure (excepte un Object amb prototipus null, és a dir, Object.create(null)). Per exemple, altres prototipus de constructors sobreescriuen la propietat constructor i ofereixen els seus propis mètodes {{jsxref("Object.prototype.toString()", "toString()")}}. Els canvis al prototipus Object es propaguen a tots els objectes a no ser que les propietats i mètodes que reben aquests canvis hagin sigut sobreescrites més avall a la cadena de prototipus.

+ +

Propietats

+ +
+
{{jsxref("Object.prototype.constructor")}}
+
Especifica la funció que ha creat el prototipus de l'objecte.
+
{{jsxref("Object.prototype.__proto__")}} {{non-standard_inline}}
+
Referencia l'objecte utilitzat com a prototipus quan aquest objecte va ser instanciat.
+
{{jsxref("Object.prototype.__noSuchMethod__")}} {{non-standard_inline}}
+
Permet definir una funció que serà executada quan es cridi com mètode un membre no definit.
+
{{jsxref("Object.prototype.__count__")}} {{obsolete_inline}}
+
Retornava el nombre de propietats enumerables que hi hagués a un objecte definit per l'usuari. S'ha eliminat.
+
{{jsxref("Object.prototype.__parent__")}} {{obsolete_inline}}
+
Referenciava el context d'un objecte. S'ha eliminat.
+
+ +

Mètodes

+ +
+
{{jsxref("Object.prototype.__defineGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
+
Associa una funció a una propietat que, quan s'accedeix, executa aquesta funció i retorna el seu valor.
+
{{jsxref("Object.prototype.__defineSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
+
Associa una funció a una propietat que, quan s'assigna, executa aquesta funció que modifica la propietat.
+
{{jsxref("Object.prototype.__lookupGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
+
Retorna una funció associada a la propietat especificada pel mètode {{jsxref("Object.defineGetter", "__defineGetter__")}}.
+
{{jsxref("Object.prototype.__lookupSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
+
Retorna a funció associada a la propietat especificada pel mètode {{jsxref("Object.defineSetter", "__defineSetter__")}}.
+
{{jsxref("Object.prototype.hasOwnProperty()")}}
+
Retorna un booleà que indica si l'objecte conté la propietat especificada com una propietat pròpia d'ell mateix en comptes d'heretar-la a través de la cadena de prototipus.
+
{{jsxref("Object.prototype.isPrototypeOf()")}}
+
Retorna un booleà que indica si l'objecte espeicfifcat pertany a la cadena de prototipus de l'objecte sobre el que es crida aquest mètode.
+
{{jsxref("Object.prototype.propertyIsEnumerable()")}}
+
Retorna un booleà que indica si està activat l'atribut intern DontEnum de l'ECMAScript.
+
{{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}
+
Retorna un string que conté cofi font que defineix un literal d'objecte que representa l'objecte sobre el que s'executa aquest mètode; aquest valor pot utilitzar-se per a crear un nou objecte.
+
{{jsxref("Object.prototype.toLocaleString()")}}
+
Crida el mètode {{jsxref("Object.toString", "toString()")}}.
+
{{jsxref("Object.prototype.toString()")}}
+
Retorna una representació d'aquest objecte en forma de string.
+
{{jsxref("Object.prototype.unwatch()")}} {{non-standard_inline}}
+
Esborra un watchpoint d'una propietat de l'objecte.
+
{{jsxref("Object.prototype.valueOf()")}}
+
Retorna el valor primitiu de l'objecte especificat.
+
{{jsxref("Object.prototype.watch()")}} {{non-standard_inline}}
+
Afegeix un watchpoint a una propietat de l'objecte.
+
{{jsxref("Object.prototype.eval()")}} {{obsolete_inline}}
+
Evaluava un string de codi font JavaScript dins el context de l'objecte especificat. S'ha eliminat.
+
+ +

Exemples

+ +

Degut a que JavaScript no res semblant a subclasses d'objectes, la propietat prototype és una bona forma d'utilitzar algunes funcions que fan d'objectes com a "classe base". Per exemple:

+ +
var Person = function() {
+  this.canTalk = true;
+};
+
+Person.prototype.greet = function() {
+  if (this.canTalk) {
+    console.log('Hi, I am ' + this.name);
+  }
+};
+
+var Employee = function(name, title) {
+  Person.call(this);
+  this.name = name;
+  this.title = title;
+};
+
+Employee.prototype = Object.create(Person.prototype);
+Employee.prototype.constructor = Employee;
+
+Employee.prototype.greet = function() {
+  if (this.canTalk) {
+    console.log('Hi, I am ' + this.name + ', the ' + this.title);
+  }
+};
+
+var Customer = function(name) {
+  Person.call(this);
+  this.name = name;
+};
+
+Customer.prototype = Object.create(Person.prototype);
+Customer.prototype.constructor = Customer;
+
+var Mime = function(name) {
+  Person.call(this);
+  this.name = name;
+  this.canTalk = false;
+};
+
+Mime.prototype = Object.create(Person.prototype);
+Mime.prototype.constructor = Mime;
+
+var bob = new Employee('Bob', 'Builder');
+var joe = new Customer('Joe');
+var rg = new Employee('Red Green', 'Handyman');
+var mike = new Customer('Mike');
+var mime = new Mime('Mime');
+
+bob.greet();
+// Hi, I am Bob, the Builder
+
+joe.greet();
+// Hi, I am Joe
+
+rg.greet();
+// Hi, I am Red Green, the Handyman
+
+mike.greet();
+// Hi, I am Mike
+
+mime.greet();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.2.3.1', 'Object.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-object.prototype', 'Object.prototype')}}{{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/conflicting/web/javascript/reference/global_objects/set/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/set/index.html new file mode 100644 index 0000000000..9d6f6e90ee --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/set/index.html @@ -0,0 +1,124 @@ +--- +title: Set.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/Set/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Set +translation_of_original: Web/JavaScript/Reference/Global_Objects/Set/prototype +--- +
{{JSRef}}
+ +

La propietat Set.prototype representa el prototipus per al constructor de {{jsxref("Set")}}.

+ +
{{js_property_attributes(0,0,0)}}
+ +

Descripció

+ +

Les instàncies de {{jsxref("Set")}} hereten de {{jsxref("Set.prototype")}}. Es pot utilitzar el l'objecte prototipus del constructor per a afegir propietats o mètodes a totes les instàncies de Set.

+ +

Propietats

+ +
+
Set.prototype.constructor
+
Retorna la funció que ha creat la instància del prototipus. Per defecte es tracta de la funció {{jsxref("Set")}}.
+
{{jsxref("Set.prototype.size")}}
+
Retorna el nombre de valors emmagatzemats dins l'objecte Set.
+
+ +

Mètodes

+ +
+
{{jsxref("Set.add", "Set.prototype.add(valor)")}}
+
Afegeix un nou element a l'objecte Set amb el valor donat. Retorna l'objecte Set.
+
{{jsxref("Set.prototype.clear()")}}
+
Elimina tots els elements de l'objecte Set.
+
{{jsxref("Set.delete", "Set.prototype.delete(valor)")}}
+
Elimina l'element associat a valor i retorna el que el mètode Set.prototype.has(valor) hagués retornat prèviament a aquesta crida. Després d'aquesta crida Set.prototype.has(valor) retornarà false.
+
{{jsxref("Set.prototype.entries()")}}
+
Retorna un nou objecte Iterator que conté un array de la forma [valor, valor] per a cada element dins l'objecte Set, en ordre d'inserció. El array retornat manté similitud amb el comportament de l'objecte Map, de forma que cada entrada té el mateix valor per a la seva clau i valor.
+
{{jsxref("Set.forEach", "Set.prototype.forEach(callbackFn[, thisArg])")}}
+
Crida callbackFn per a cada valor present a l'objecte Set, recorreguts per ordre d'inserció. Si es proporciona el paràmetre thisArg, aquest s'utilitzarà com a valor de this per a cada crida a callbackFn.
+
{{jsxref("Set.has", "Set.prototype.has(value)")}}
+
Retorna un booleà que especifica si la clau té un valor associat en aquest objecte Set o no.
+
{{jsxref("Set.prototype.keys()")}}
+
Es tracta de la mateixa funció que la funció values() i retorna un nou objecte Iterator que conté els valors per a cada element de l'objecte Set, en ordre d'inserció.
+
{{jsxref("Set.prototype.values()")}}
+
Retorna un nou objecte Iterator que conté els valors de cada element de l'objecte Set, en ordre d'inserció.
+
{{jsxref("Set.prototype.@@iterator()", "Set.prototype[@@iterator]()")}}
+
Retorna un nou objecte Iterator que conté els valors de cada element de l'objecte Set, en ordre d'inserció.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype', 'Set.prototype')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("13") }}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}} +

8

+
+
+ +

Vegeu també

+ + diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/syntaxerror/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/syntaxerror/index.html new file mode 100644 index 0000000000..35aea642bd --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/syntaxerror/index.html @@ -0,0 +1,122 @@ +--- +title: SyntaxError.prototype +slug: Web/JavaScript/Referencia/Objectes_globals/SyntaxError/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError +translation_of_original: Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype +--- +
{{JSRef}}
+ +

La propietat SyntaxError.prototype representa el prototip pel constructor {{jsxref("SyntaxError")}}.

+ +

Descripció

+ +

Totes les instàncies {{jsxref("SyntaxError")}} hereten de SyntaxError.prototype. Es pot utilitzar el prototipus per afegir propietats o mètodes a totes les instàncies.

+ +

Propietats

+ +
+
SyntaxError.prototype.constructor
+
Especifica la funció que ha creat el prototip d'una instància.
+
{{jsxref("Error.prototype.message", "SyntaxError.prototype.message")}}
+
Missatge d'error. Tot i que l'ECMA-262 especifica que {{jsxref("SyntaxError")}} hauria de proveir la seva pròpia propietat message, en SpiderMonkey, hereta {{jsxref("Error.prototype.message")}}.
+
{{jsxref("Error.prototype.name", "SyntaxError.prototype.name")}}
+
Nom de l'herror. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.fileName", "SyntaxError.prototype.fileName")}}
+
Ruta a l'arxiu que llança aquest error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.lineNumber", "SyntaxError.prototype.lineNumber")}}
+
Número de línia en el fitxa que llança aquest error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.columnNumber", "SyntaxError.prototype.columnNumber")}}
+
Número de columna en línia que llança aquest error. Heretat de {{jsxref("Error")}}.
+
{{jsxref("Error.prototype.stack", "SyntaxError.prototype.stack")}}
+
Traça de l'error. Heretat de {{jsxref("Error")}}.
+
+ +

Mètodes

+ +

Tot i que l'objecte prototip {{jsxref("SyntaxError")}} no conté cap mètode per si mateix, instàncies de{{jsxref("SyntaxError")}} heretes alguns mètodes a través de la cadena prototip.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial
{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}{{Spec2('ES5.1')}}Definit com a NativeError.prototype.
{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}{{Spec2('ES6')}}Definit com a NativeError.prototype.
+ +

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/conflicting/web/javascript/reference/global_objects/weakmap/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/weakmap/index.html new file mode 100644 index 0000000000..40c3e72ff6 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/weakmap/index.html @@ -0,0 +1,133 @@ +--- +title: WeakMap.prototype +slug: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap +translation_of_original: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype +--- +
{{JSRef}}
+ +

La propietat WeakMap.prototype representa el prototip pel constructor {{jsxref("WeakMap")}}.

+ +
{{js_property_attributes(0,0,0)}}
+ +

Descripció

+ +

Les instantànies {{jsxref("WeakMap")}} hereten de {{jsxref("WeakMap.prototype")}}. Es pot utilitzar l'objecte prototip del constructor per afegir propietats o mètodes a totes les instàncies WeakMap.

+ +

WeakMap.prototype és en si mateix només un objecte ordinari:

+ +
Object.prototype.toString.call(WeakMap.prototype); // "[object Object]"
+ +

Propietats

+ +
+
WeakMap.prototype.constructor
+
Retorna la funció que ha creat un prototip de la instància. Aquesta és la funció {{jsxref("WeakMap")}} per defecte.
+
+ +

Mètodes

+ +
+
{{jsxref("WeakMap.delete", "WeakMap.prototype.delete(key)")}}
+
Elimina qualsevol valor associat a key. WeakMap.prototype.has(key) retornarà false després d'això.
+
{{jsxref("WeakMap.get", "WeakMap.prototype.get(key)")}}
+
Retorna el valor associat a key, o undefined si no n'hi ha cap.
+
{{jsxref("WeakMap.has", "WeakMap.prototype.has(key)")}}
+
Retorna un booleà afirmant si un valor s'ha associat o no a la key en l'objecte WeakMap.
+
{{jsxref("WeakMap.set", "WeakMap.prototype.set(key, value)")}}
+
Estableix el valor per la key en l'objecte WeakMap. Retorna l'objecte WeakMap.
+
{{jsxref("WeakMap.prototype.clear()")}} {{obsolete_inline}}
+
Elimina totes les parelles clau/valor de l'objecte WeakMap. Vegeu que es posible implementar un objecte WeakMap-like que tingui un mètode .clear() per mitjà d'encapsular un objecte WeakMap que no ho tingui (vegeu un exemple a la pàgina {{jsxref("WeakMap")}})
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-weakmap.prototype', 'WeakMap.prototype')}}{{Spec2('ES6')}}Definició inicial
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic36{{CompatGeckoDesktop("6.0")}}11237.1
Objecte ordinari{{CompatUnknown}}{{CompatGeckoDesktop("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("6.0")}}{{CompatNo}}{{CompatNo}}8
Objecte ordinari{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/conflicting/web/javascript/reference/global_objects/weakset/index.html b/files/ca/conflicting/web/javascript/reference/global_objects/weakset/index.html new file mode 100644 index 0000000000..4e86935904 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/global_objects/weakset/index.html @@ -0,0 +1,132 @@ +--- +title: WeakSet.prototype +slug: Web/JavaScript/Reference/Global_Objects/WeakSet/prototype +translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet +translation_of_original: Web/JavaScript/Reference/Global_Objects/WeakSet/prototype +--- +
{{JSRef}}
+ +

La propietat WeakSet.prototype representa el prototip pel constructor {{jsxref("WeakSet")}}.

+ +
{{js_property_attributes(0,0,0)}}
+ +

Descripció

+ +

Les instàncies {{jsxref("WeakSet")}} hereten de {{jsxref("WeakSet.prototype")}}. Es pot utilitzar l'objecte prototip del constructor per afegir propietats o mètodes a totes les instàncies WeakSet.

+ +

WeakSet.prototype és en si mateix només un objecte ordinari

+ +
Object.prototype.toString.call(WeakSet.prototype); // "[object Object]"
+ +

Propietats

+ +
+
WeakSet.prototype.constructor
+
Retorna la funció que ha creat un prototip de la instància. Aquesta és la funció {{jsxref("WeakSet")}} per defecte.
+
+ +

Mètodes

+ +
+
{{jsxref("WeakSet.add", "WeakSet.prototype.add(value)")}}
+
Afegeix un nou element amb el valor donat a l'objecte WeakSet.
+
{{jsxref("WeakSet.delete", "WeakSet.prototype.delete(value)")}}
+
Elimina l'element associat al value. WeakSet.prototype.has(value) retornarà després false.
+
{{jsxref("WeakSet.has", "WeakSet.prototype.has(value)")}}
+
Retorna un booleà afirmant si un element és o no present amb el valor donat en l'objecte WeakSet.
+
{{jsxref("WeakSet.prototype.clear()")}} {{obsolete_inline}}
+
Elimina tots els elements de l'objecte WeakSet.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-weakset.prototype', 'WeakSet.prototype')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic36{{ CompatGeckoDesktop(34) }}{{CompatNo}}23{{CompatNo}}
Objecte ordinari{{CompatUnknown}}{{CompatGeckoDesktop("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChrome per AndroidAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile(34) }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
Objecte ordinari{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/conflicting/web/javascript/reference/operators/index.html b/files/ca/conflicting/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..9b6816c2d6 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/operators/index.html @@ -0,0 +1,287 @@ +--- +title: Operadors aritmètics +slug: Web/JavaScript/Referencia/Operadors/Arithmetic_Operators +translation_of: Web/JavaScript/Reference/Operators +translation_of_original: Web/JavaScript/Reference/Operators/Arithmetic_Operators +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

Els operadors aritmètics prenen valors numèrics (poden ser tant literals com ser variables) com a operands seus i retornen un valor numèric únic. Els operadors aritmètics estàndards són la suma (+), la resta (-), la multiplicació (*), i la divisió (/).

+ +

Suma (+)

+ +

L'operador Suma produeix la suma dels operands numèrics o de la concatenació de cadenes.

+ +

Sintaxi

+ +
Operador: x + y
+
+ +

Exemples

+ +
// Nombre + Nombre -> suma
+1 + 2 // 3
+
+// Booleà + Nombre -> suma
+true + 1 // 2
+
+// Booleà + Booleà -> suma
+false + false // 0
+
+// Nombre + String -> concatenació
+5 + "foo" // "5foo"
+
+// String + Booleà -> concatenació
+"foo" + false // "foofalse"
+
+// String + String -> concatenació
+"foo" + "bar" // "foobar"
+
+ +

Resta (-)

+ +

L'operador resta produeix la resta de dos operands, produint la seva diferència.

+ +

Sintaxi

+ +
Operador: x - y
+
+ +

Exemples

+ +
5 - 3 // 2
+3 - 5 // -2
+"foo" - 3 // NaN
+ +

Divisió (/)

+ +

L'operador divisió produeix el quocient dels seus operands on el operand de l'esquerra és el dividend, i l'operand de la dreta és el divisor.

+ +

Sintaxi

+ +
Operador: x / y
+
+ +

Exemples

+ +
1 / 2      // retorna 0.5 a JavaScript
+1 / 2      // retorna 0 in Java
+// (cap dels nombres és explícitament n nombre de coma flotant)
+
+1.0 / 2.0  // retorna 0.5 a JavaScript i Java
+
+2.0 / 0    // retorna Infinity a JavaScript
+2.0 / 0.0  // també retorna Infinity
+2.0 / -0.0 // retorna -Infinity a JavaScript
+ +

Multiplicació (*)

+ +

L'operador multiplicació produeix el producte dels operands.

+ +

Sintaxi

+ +
Operador: x * y
+
+ +

Exemples

+ +
2 * 2 // 4
+-2 * 2 // -4
+Infinity * 0 // NaN
+Infinity * Infinity // Infinity
+"foo" * 2 // NaN
+
+ +

Mòdul (%)

+ +

L'operador mòdul retorna el mòdul del primer operand amb el segon, això és, var1 modulo var2 en la sentència prèvia, on var1 i var2 són variables. La funció mòdul és la resta entera de dividir var1 per var2. Hi ha una proposta per a implementar un operador mòdul real en una futura versió de l'ECMAScript.

+ +

Sintaxi

+ +
Operador: var1 % var2
+
+ +

Exemples

+ +
12 % 5 // 2
+-1 % 2 // -1
+NaN % 2 // NaN
+
+ +

Increment (++)

+ +

L'operador increment incrementa (afegeix un) al seu operand i retorna un valor.

+ + + +

Sintaxi

+ +
Operador: x++ or ++x
+
+ +

Exemples

+ +
// Sufix
+var x = 3;
+y = x++; // y = 3, x = 4
+
+// Prefix
+var a = 2;
+b = ++a; // a = 3, b = 3
+
+ +

Decrement (--)

+ +

L'operador decrement decrementa (resta un) al seu operand i retorna el seu valor.

+ + + +

Sintaxi

+ +
Operador: x-- or --x
+
+ +

Exemples

+ +
// Sufix
+var x = 3;
+y = x--; // y = 3, x = 2
+
+// Prefix
+var a = 2;
+b = --a; // a = 1, b = 1
+
+ +

Negació unària (-)

+ +

L'operador de negació unària precedeix el seu operand i el nega.

+ +

Sintaxi

+ +
Operator: -x
+
+ +

Exemples

+ +
var x = 3;
+y = -x; // y = -3, x = 3
+
+ +

Operador unari de conversió a nombre (+)

+ +

L'operador unari de conversió a nombre precedeix el seu operand i intenta convertir-lo en un nombre si no ho és ja. Tot i que l'operand de negació unària també pot convertir no-nombres, l'operador de conversió és el mètode més ràpid i recomanat per a convertir quelcom a un nombre ja que no realitza cap altra operació al nombre. Pot convertir cadenes de caràcters representant sencers i nombres en coma flotant, així com els valors true, false i null. Quant a nombres sencers, tant la notació decimal com la hexadecimal (denotada amb el prefixe "0x") estàn suportades. Els nombres negatius també estàn suportats (tot i que no per a hexadecimals). Si no pot interpretar un valor determinat l'operador retornarà NaN.

+ +

Sintaxi

+ +
Operador: +x
+
+ +

Exemples

+ +
+3     // 3
++"3"   // 3
++true  // 1
++false // 0
++null  // 0
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1st Edition.StandardInitial definition.
{{SpecName('ES5.1', '#sec-11.6', 'Additive operators')}}
+ {{SpecName('ES5.1', '#sec-11.5', 'Multiplicative operators')}}
+ {{SpecName('ES5.1', '#sec-11.3', 'Postfix expressions')}}
+ {{SpecName('ES5.1', '#sec-11.4', 'Unary operators')}}
{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-additive-operators', 'Additive operators')}}
+ {{SpecName('ES6', '#sec-multiplicative-operators', 'Multiplicative operators')}}
+ {{SpecName('ES6', '#sec-postfix-expressions', 'Postfix expressions')}}
+ {{SpecName('ES6', '#sec-unary-operators', 'Unary operators')}}
{{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/conflicting/web/javascript/reference/operators_94c03c413a71df1ccff4c3ede275360c/index.html b/files/ca/conflicting/web/javascript/reference/operators_94c03c413a71df1ccff4c3ede275360c/index.html new file mode 100644 index 0000000000..f7fbae7b47 --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/operators_94c03c413a71df1ccff4c3ede275360c/index.html @@ -0,0 +1,719 @@ +--- +title: Operadors de bits +slug: Web/JavaScript/Referencia/Operadors/Bitwise_Operators +translation_of: Web/JavaScript/Reference/Operators +translation_of_original: Web/JavaScript/Reference/Operators/Bitwise_Operators +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

Els operadors de bits tracten els seus operands com una seqüència de 32 bits (uns i zeros), en comptes de operar-los com a nombres decimals, hexadecimals o octals. Per exemple, la representació binària del és nombre decimal nou (9) 1001. Els operadors de bits treballen amb aquesta representació binària però el resultat que retorna l'operació sempre és un nombre standard de JavaScript.

+ +

La taula que trobareu a continuació és un resum dels operadors de bits que es poden trobar a JavaScript:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
OperadorÚsDescripció
AND binaria & b +

Retorna un 1 a les posicions on el bit de a i el bit de b són 1 i un 0 en totes les altres.

+
OR binaria | b +

Retorna un 1 a les posicions on al menys la posició de a o la de b són 1.

+
XOR binaria ^ b +

Retorna un 1 a cada posició on a és 1 i b és 0 o bé a és 0 i b és 1.

+
NOT binari~ aInverteix els bits de l'operand donat.
Desplaçament a l'esquerraa << bDesplaça els bits de a b posicions a l'esquerra, tot omplint amb zeros les primeres b posicions.
Desplaçament a la dreta conservant el signea >> bDesplaça els bits de a b posicions a la dreta, descartant els bits desplaçats fora.
Desplaçament a la dreta omplint amb zerosa >>> bDesplaça els bits de a b posicions a la dreta, descartant els bits desplaçats fora. Els primers b bits s'omplen amb zeros.
+ +

Enters de 32 bits amb signe

+ +

Els operands de totes les operacions de bits es converteixen a enters amb signe de 32 bits utilitzant el format de complement a 2. Això vol dir que la versió negativa d'un nombre (per exemple 5 vs -5) és exactament la mateixa representació binària però amb els bits invertits (operació de bits NOT del nombre, també coneguda com a complement del nombre) més 1. Per exemple, seguidament es mostra la representació binària de 314:

+ +
00000000000000000000000100111010
+
+ +

I a continuació ~314, és a dir, el complement de 314:

+ +
11111111111111111111111011000101
+
+ +

Finalment es mostra -314, és a dir, el complement a dos de 314:

+ +
11111111111111111111111011000110
+
+ +

El complement a dos garanteix que el bit de més a l'esquerra sempre serà un 0 quan el nombre és positiu i un 1 quan el nombre sigui negatiu. Aquest bit és doncs anomentat el bit de signe degut a això.

+ +

El nombre 0 es representa com a l'enter composat íntegrament de zeros a tots els seus bits.

+ +
0 (base 10) = 00000000000000000000000000000000 (base 2)
+
+ +

El nombre -1 és l'enter composats completament per 1s a tots els seus bits.

+ +
-1 (base 10) = 11111111111111111111111111111111 (base 2)
+
+ +

El nombre -2147483648 (representació hexadecimal: -0x80000000) és l'enter composat per zeros a tots els seus bits a excepciò del bit de més a l'esquerra, que és un 1.

+ +
-2147483648 (base 10) = 10000000000000000000000000000000 (base 2)
+
+ +

El nombre 2147483647 (representació hexadecimal: 0x7fffffff) és el sencer composat per 1 a tots els seus bits a excepció del de més a l'esquerra.

+ +
2147483647 (base 10) = 01111111111111111111111111111111 (base 2)
+
+ +

Els nombres -2147483648 i 2147483647 són els enters més petit i més gran respectivament que poden ser representats mitjançant un nombre de 32 bits amb signe.

+ +

Operadors lògics de bits

+ +

Conceptualment els operadors lògics de bits funcionen de la següent forma:

+ + + +

& (AND binari)

+ +

Realitza l'operació AND a cada parella de bits. a AND b esdevindrà 1 només si ambdós a i b són 1. La taula de la veritat per a l'operació  AND és la següent:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aba AND b
000
010
100
111
+ +
     9 (base 10) = 00000000000000000000000000001001 (base 2)
+    14 (base 10) = 00000000000000000000000000001110 (base 2)
+                   --------------------------------
+14 & 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)
+
+ +

Realitzar l'operació AND binària de qualsevol nombre amb el zero retornarà zero. Realitzar l'operació AND binària de qualsevol nombre amb -1 retornarà el mateix nombre.

+ +

| (OR binari)

+ +

Realitza la operació OR a cada parella de bits. a OR b retornarà 1 si qualsevol de a o b és 1. La taula de la veritat per a l'operació OR és:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aba OR b
000
011
101
111
+ +
     9 (base 10) = 00000000000000000000000000001001 (base 2)
+    14 (base 10) = 00000000000000000000000000001110 (base 2)
+                   --------------------------------
+14 | 9 (base 10) = 00000000000000000000000000001111 (base 2) = 15 (base 10)
+
+ +

Realitzar l'operació OR binària de qualsevol nombre x amb 0 retornarà x. Realitzar l'operació OR binària de qualsevol nombre x amb -1 retornarà ~x

+ +

^ (XOR binari)

+ +

Realitza la operació XOR a cada parella de bits. a XOR b retorna 1 si a i b són diferents. La taula de la veritat per a l'operació XOR és la següent:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
aba XOR b
000
011
101
110
+ +
     9 (base 10) = 00000000000000000000000000001001 (base 2)
+    14 (base 10) = 00000000000000000000000000001110 (base 2)
+                   --------------------------------
+14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)
+
+ +

Realitzar l'operació XOR binària de qualsevol nombre x amb 0 retornarà x. Realitzar l'operació OR binària de qualsevol nombre x amb -1 retornarà ~x.

+ +

~ (NOT binari)

+ +

Realitza una operació NOT a cada bit. NOT a retorna el valor invers (també conegut com el complement a 1) de a. La taula de la veritat per a la operació NOT és:

+ + + + + + + + + + + + + + + + +
aNOT a
01
10
+ +
 9 (base 10) = 00000000000000000000000000001001 (base 2)
+               --------------------------------
+~9 (base 10) = 11111111111111111111111111110110 (base 2) = -10 (base 10)
+
+ +

Realitzar la operació NOT binària a un nombre x qualsevol retorna -(x + 1). Per exemple, ~5 resulta en -6.

+ +

Exemple amb indexOf:

+ +
var str = 'rawr';
+var searchFor = 'a';
+
+// fora alternativa equivalent a if (-1*str.indexOf('a') <= -1)
+if (~str.indexOf(searchFor)) {
+  // searchFor és dins l'string
+} else {
+  // searchFor no està dins l'string
+}
+
+// valors retornats per (~str.indexOf(searchFor))
+// r == -1
+// a == -2
+// w == -3
+
+ +

Operadors binaris de desplaçament

+ +

Els operadors binaris de desplaçament accepten dos operands: el primer és el valor que serà transformat a enter de 32 bits i al que se li aplicarà el desplaçament. El segon determina el nombre de posicions que es desplaçarà cada bit. La direcció en la que els bits es desplaçaran es determina per l'operador usat.

+ +

Els operadors de desplaçament converteixen els seus operands a enters de 32 bits en ordre big-endian i retornen un valor amb el mateix tipus que l'operand de l'esquerra. L'operand de la dreta hauria de ser menor de 32, però de no ser així només s'utilitzen els primers 5 bits.

+ +

<< (Desplaçament a l'esquerra)

+ +

Aquest operador desplaça el primer operand un nombre específic de bits cap a l'esquerra. Els bits de l'esquerra sobrants són descartats. Per a omplir les primeres posicions de la dreta s'utilitzen zeros.

+ +

Exemple: 9 << 2 resulta en 36:

+ +
     9 (base 10): 00000000000000000000000000001001 (base 2)
+                  --------------------------------
+9 << 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10)
+
+ +

Desplaçar a l'esquerra qualsevol nombre x y bits resulta en x * 2^y.

+ +

>> (Desplaçament a la dreta preservant el signe)

+ +

Aquest operador desplaça el primer operand un nombre específic de bits a la dreta. Els bits sobrants es descarten. Els bits de l'esquerra s'inicialitzen amb el valor inicial del primer bit de l'esquerra. Degut a que el bit de més a l'esquerra tindrà el mateix valor que el bit de més a l'esquerra abans de realitzar el desplaçament, el bit de signe no canvia. És degut a aquesta propietat que es diu que aquest operand preserva el signe.

+ +

Per exemple, 9 >> 2 resulta en 2:

+ +
     9 (base 10): 00000000000000000000000000001001 (base 2)
+                  --------------------------------
+9 >> 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)
+
+ +

De la mateixa manera, -9 >> 2 resulta en -3, ja que el signe es preserva:

+ +
     -9 (base 10): 11111111111111111111111111110111 (base 2)
+                   --------------------------------
+-9 >> 2 (base 10): 11111111111111111111111111111101 (base 2) = -3 (base 10)
+
+ +

>>> (Desplaçament a la dreta omplint amb zeros)

+ +

Aquest operador desplaça el primer operand un nombre específic de bits cap a la dreta. Els bits sobrants degut al desplaçament són descartats. Els bits de l'esquerra són omplerts utilitzant zeros. Com que el bit de signe sempre acaba sent un zero el resultat sempre és no negatiu.

+ +

Per a nombres no negatius, els operadors de desplaçament a la dreta preservant el signe i omplint amb zeros retornen el mateix resultat. Per exemple, 9 >>> 2 resulta en 2, tal com 9 >> 2:

+ +
      9 (base 10): 00000000000000000000000000001001 (base 2)
+                   --------------------------------
+9 >>> 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)
+
+ +

El resultat varia, però, per a nombres negatius. Per exemple, -9 >>> 2 resulta en 1073741821, el qual es diferent de -9 >> 2 (que retorna -3):

+ +
      -9 (base 10): 11111111111111111111111111110111 (base 2)
+                    --------------------------------
+-9 >>> 2 (base 10): 00111111111111111111111111111101 (base 2) = 1073741821 (base 10)
+
+ +

Exemples

+ +

Exemple: Marques i màscares de bits

+ +

Els operadors lògics de bits s'empren tot sovint per a crear, manipular i llegir seqüències de marques, les quals realitzen uns funció similar a les variables booleanes. El seu avantatge davant les variables booleanes és que les seqüències de marques utilitzen molta menys memòria (per un factor de 32).

+ +

The bitwise logical operators are often used to create, manipulate, and read sequences of flags, which are like binary variables. Variables could be used instead of these sequences, but binary flags take much less memory (by a factor of 32).

+ +

Suposem 4 marques:

+ + + +

Aquestes marques són representades per una seqüència de bits: DCBA. Quan una marca està activada, té un valor de 1. Quan una marca no està activa rep un valor de 0. Suposem que una variable anomenada flags (marques en anglès) té el valor binari 0101:

+ +
var flags = 5;   // 0101 en binari
+
+ +

Aquest valor indica:

+ + + +

Com que les operacions be bits utilitzen nombres de 32 bits, 0101 és en realitat 00000000000000000000000000000101, però els zeros a l'esquerra es poden obviar ja que no contenen informació útil.

+ +

Una màscara de bits és una seqüència que pot manipular i/o llegir marques. És molt comú definir màscares "primitives" per a cada marca:

+ +
var FLAG_A = 1; // 0001
+var FLAG_B = 2; // 0010
+var FLAG_C = 4; // 0100
+var FLAG_D = 8; // 1000
+
+ +

Es fàcil crear noves màscares mitjançant operacions de bits lògiques sobre les màscares primitives. Per exemple, la màscara de bits 1011 es pot crear mitjançant operacions OR sobre FLAG_A, FLAG_B i FLAG_D:

+ +
var mask = FLAG_A | FLAG_B | FLAG_D; // 0001 | 0010 | 1000 => 1011
+
+ +

Els valors individuals d'una marca es poden obtindre mitjançant una operació AND de la seqüència de marques amb la màscara primitiva corresponent. La màscara de bits descarta els bits de les marques que no s'escauen. Per exemple, la màscara de bits 0100 es pot emprar per veure si la marca C està activa:

+ +
// si tenim un gat...
+if (flags & FLAG_C) { // 0101 & 0100 => 0100 => true
+   // ... fer coses
+}
+
+ +

Una màscara de bits amb múltiples marques activades funciona com un "or". Per exemple els següents dos blocs de codi són equivalents:

+ +
// si tenim un ratpenat o un gat...
+// (0101 & 0010) || (0101 & 0100) => 0000 || 0100 => true
+if ((flags & FLAG_B) || (flags & FLAG_C)) {
+   // ... fer coses
+}
+
+ +
// si tenim un ratpenat o un gat...
+var mask = FLAG_B | FLAG_C; // 0010 | 0100 => 0110
+if (flags & mask) { // 0101 & 0110 => 0100 => true
+   // ... fer coses
+}
+
+ +

Les marques es poden activar mitjançant una operació OR amb la màscara, on cada bit amb el valor 1 activarà la marca corresponent si no està ja activada. Per exemple, la màscara de bits 1100 pot ser emprada per a activar les marques C i D:

+ +
// si, tenim un gat i un ànec
+var mask = FLAG_C | FLAG_D; // 0100 | 1000 => 1100
+flags |= mask;   // 0101 | 1100 => 1101
+
+ +

Les marques es poden desactivar mitjançant una operació AND amb una màscara de bits, on cada bit amb el valor de zero desactivarà la marca corresponent si no està ja desactivada. Aquestes màscares poden generar-se fàcilment mitjançant una operació NOT sobre la màscara primitiva adient. Per exemple, la màscara 1010 pot ser emprada per a desactivar les marques A i C:

+ +
// no, no tenim un problema amb formigues ni tenim un gat
+var mask = ~(FLAG_A | FLAG_C); // ~0101 => 1010
+flags &= mask;   // 1101 & 1010 => 1000
+
+ +

També es podría haver creat la màscara amb ~FLAG_A & ~FLAG_C (Llei de De Morgan):

+ +
// no, no tenim un problema amb formigues ni tenim un gat
+var mask = ~FLAG_A & ~FLAG_C;
+flags &= mask;   // 1101 & 1010 => 1000
+
+ +

Es pot invertir una màscara (entenem per invertir activar-la si està desactivada i desactivar-la si està activada. És a dir, invertir el seu valor) mitjançant una operació XOR amb una màscara de bits, on cada bit amb el valor 1 invertirà el valor de la marca corresponent. Per exemple, la màscara de bits 0110 pot ser emprada per invertir les marques B i C:

+ +
// Si no teniem un ratpenat, ara en tenim un
+// i si en teniem un, adéu ratpenat
+// El mateix amb els gats
+var mask = FLAG_B | FLAG_C;
+flags = flags ^ mask;   // 1100 ^ 0110 => 1010
+
+ +

Finalment, les marques poden ser invertides mitjançant l'operador NOT:

+ +
// entrant a l'univers paral·lel
+flags = ~flags;    // ~1010 => 0101
+
+ +

Xuletes per conversions

+ +

Converteix un String binari a un Number decimal:

+ +
var sBinString = "1011";
+var nMyNumber = parseInt(sBinString, 2);
+alert(nMyNumber); // prints 11, i.e. 1011
+
+ +

Converteix un Number decimal en un String binari:

+ +
var nMyNumber = 11;
+var sBinString = nMyNumber.toString(2);
+alert(sBinString); // prints 1011, i.e. 11
+
+ +

Automatització de la creació de màscares

+ +

El procés de creació de màscares per a valors Booleans pot ser automatitzat:

+ +
function createMask () {
+  var nMask = 0, nFlag = 0, nLen = arguments.length > 32 ? 32 : arguments.length;
+  for (nFlag; nFlag < nLen; nMask |= arguments[nFlag] << nFlag++);
+  return nMask;
+}
+var mask1 = createMask(true, true, false, true); // 11, i.e.: 1011
+var mask2 = createMask(false, false, true); // 4, i.e.: 0100
+var mask3 = createMask(true); // 1, i.e.: 0001
+// etc.
+
+alert(mask1); // prints 11, i.e.: 1011
+
+ +

Algorisme invers: un array de booleans a partir d'una màscara

+ +

El codi següent crea un Array de Booleans a partir d'una màscara:

+ +
function arrayFromMask (nMask) {
+  // nMask must be between -2147483648 and 2147483647
+  if (nMask > 0x7fffffff || nMask < -0x80000000) {
+    throw new TypeError("arrayFromMask - out of range");
+  }
+  for (var nShifted = nMask, aFromMask = []; nShifted;
+       aFromMask.push(Boolean(nShifted & 1)), nShifted >>>= 1);
+  return aFromMask;
+}
+
+var array1 = arrayFromMask(11);
+var array2 = arrayFromMask(4);
+var array3 = arrayFromMask(1);
+
+alert("[" + array1.join(", ") + "]");
+// prints "[true, true, false, true]", i.e.: 11, i.e.: 1011
+
+ +

Ambdós algorismes poden ser testejats a l'hora...

+ +
var nTest = 19; // la nostra màscara personal
+var nResult = createMask.apply(this, arrayFromMask(nTest));
+
+alert(nResult); // 19
+
+ +

Només amb finalitat didàctica (ja que disposem del mètode Number.toString(2)), es mostra com és posible modficiar l'algorisme arrayFromMask per a crear un String que contingui la representació d'un Number en comptes d'un Array de Booleans:

+ +
function createBinaryString (nMask) {
+  // nMask ha d'estar entre -2147483648 i 2147483647
+  for (var nFlag = 0, nShifted = nMask, sMask = ""; nFlag < 32;
+       nFlag++, sMask += String(nShifted >>> 31), nShifted <<= 1);
+  return sMask;
+}
+
+var string1 = createBinaryString(11);
+var string2 = createBinaryString(4);
+var string3 = createBinaryString(1);
+
+alert(string1);
+// prints 00000000000000000000000000001011, i.e. 11
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
ECMAScript 1a Edició.StandardDefinició inicial
{{SpecName('ES5.1', '#sec-11.4.8', 'Bitwise NOT operator')}}
+ {{SpecName('ES5.1', '#sec-11.7', 'Bitwise shift operators')}}
+ {{SpecName('ES5.1', '#sec-11.10', 'Binary bitwise operators')}}
{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-bitwise-not-operator', 'Bitwise NOT operator')}}
+ {{SpecName('ES6', '#sec-bitwise-shift-operators', 'Bitwise shift operators')}}
+ {{SpecName('ES6', '#sec-binary-bitwise-operators', 'Binary bitwise operators')}}
{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterístiquesChromeFirefox (Gecko)Internet ExplorerOperaSafari
Bitwise NOT (~){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise AND (&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise OR (|){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise XOR (^){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Left shift (<<){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Right shift (>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Unsigned right shift (>>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Bitwise NOT (~){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise AND (&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise OR (|){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise XOR (^){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Left shift (<<){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Right shift (>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Unsigned right shift (>>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ + diff --git a/files/ca/conflicting/web/javascript/reference/operators_af596841c6a3650ee514088f0e310901/index.html b/files/ca/conflicting/web/javascript/reference/operators_af596841c6a3650ee514088f0e310901/index.html new file mode 100644 index 0000000000..591e1fbc4f --- /dev/null +++ b/files/ca/conflicting/web/javascript/reference/operators_af596841c6a3650ee514088f0e310901/index.html @@ -0,0 +1,302 @@ +--- +title: Operadors Lògics +slug: Web/JavaScript/Referencia/Operadors/Logical_Operators +translation_of: Web/JavaScript/Reference/Operators +translation_of_original: Web/JavaScript/Reference/Operators/Logical_Operators +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

Els operadors lògics s'utilitzen normalment amb valors Boolean (lògics). En cas de serh-hi presents, retornen un valor booleà. Tot i així, els operadors && i || retornen el valor d'un dels operands especificats, així que si aquests operadors es fan servir amb valors no booleans, poden retornar un valor no booleà.

+ +

Descripció

+ +

Els operadors lògics es descriuren en la taula següent:

+ + + + + + + + + + + + + + + + + + + + + + + + +
OperadorÚsDescripció
AND lògic (&&)expr1 && expr2Retorna expr1 si es pot convertir en false; sinó, retorna expr2. Així, quan es fa servir amb valors booleans, && retorna true si ambdós operands són true; de ser el contrari, retorna false.
OR lògic(||)expr1 || expr2Retorna expr1 si es pot converir en true; de ser al contrari, retorna expr2. Així, quan s'usa amb valors Booleans, || retorna true si l'operand és true; si amdós són false, retorna false.
NOT lògic (!)!exprRetorna false si el seu únic operand pot convertir-se a true; sinó, retorna true.
+ +

Exemples d'expressions que es poden converir a false son aquelles que avaluen null, 0, la cadena buida (""), o undefined.

+ +

Tot i que els operadors && i || es poden fer servir amb operands que no siguin valors Booleans, poden ser considerats operadors Booleans ja que els valors que retornen sempre es poden convertir en valors Booleans.

+ +

Avaluació de tipus curtcircuit

+ +

Com a expressions lògiques que són, s'avaluen d'esquerra a dreta, they are tested for possible "short-circuit" evaluation fent servir les regles següents:

+ + + +

Les regles de la lògica garanteixen que aquestes avaluacions són sempre correctes. Fixeu-vos que la part quelcom d'adalt no s'avalua, així que els efectes secundaris d'això no tindràn efecte. Fixeu-vos també que la part de l'expressió de dalt anomenada quelcom és una expressió lògica simple (com s'indiquen amb els parèntesis).

+ +

Per exemple, les dues funcions següents són equivalents.

+ +
function shortCircuitEvaluation() {
+  doSomething() || doSomethingElse()
+}
+
+function equivalentEvaluation() {
+  var flag = doSomething();
+  if (!flag) {
+    doSomethingElse();
+  }
+}
+
+ +

Tot i així, les següents expressions no són equivalents degut a la precendència dels operadors, i remarca la importància de requerir que l'operador de la dreta sigui una sola expressió (agrupada, si s'escau, per parèntesi).

+ +
false && true  || true      // returns true
+false && (true || true)     // returns false
+ +

AND lògic (&&)

+ +

El codi següent mostra exemples de l'operador && (AND lògic).

+ +
a1 = true  && true      // t && t returns true
+a2 = true  && false     // t && f returns false
+a3 = false && true      // f && t returns false
+a4 = false && (3 == 4)  // f && f returns false
+a5 = "Cat" && "Dog"     // t && t returns "Dog"
+a6 = false && "Cat"     // f && t returns false
+a7 = "Cat" && false     // t && f returns false
+
+ +

OR lògic (||)

+ +

El codi següent mostra exemples de l'operador || (OR lògic).

+ +
o1 = true  || true       // t || t returns true
+o2 = false || true       // f || t returns true
+o3 = true  || false      // t || f returns true
+o4 = false || (3 == 4)   // f || f returns false
+o5 = "Cat" || "Dog"      // t || t returns "Cat"
+o6 = false || "Cat"      // f || t returns "Cat"
+o7 = "Cat" || false      // t || f returns "Cat"
+
+ +

NOT lògic (!)

+ +

El codi següent mostra exemples de l'operador ! (NOT lògic).

+ +
n1 = !true              // !t returns false
+n2 = !false             // !f returns true
+n3 = !"Cat"             // !t returns false
+
+ +

Regles de conversió

+ +

Convertir AND a OR

+ +

L'operació següent que inclou Booleans:

+ +
bCondition1 && bCondition2
+ +

sempre és igual a:

+ +
!(!bCondition1 || !bCondition2)
+ +

Convertir OR a AND

+ +

L'operació següent que inclou Booleans:

+ +
bCondition1 || bCondition2
+ +

sempre és igual a:

+ +
!(!bCondition1 && !bCondition2)
+ +

Desfer-se de parèntesis aniuats

+ +

Com que les expressions lògiques s'avaluen d'esquerra a dreta, sempre és posible esborrar els parèntesi d'expressions complexes mitjançant les regles següents.

+ +

Desfer-se d'un AND aniuat

+ +

L'operació següent que inclou Booleans:

+ +
bCondition1 || (bCondition2 && bCondition3)
+ +

sempre és igual a:

+ +
bCondition1 || bCondition2 && bCondition3
+ +

Desfer-se d'un OR aniuat

+ +

L'operació següent que inclou Booleans:

+ +
bCondition1 && (bCondition2 || bCondition3)
+ +

sempre és igual a:

+ +
!(!bCondition1 || !bCondition2 && !bCondition3)
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-11.4.9', 'Logical NOT Operator')}}
+ {{SpecName('ES5.1', '#sec-11.11', 'Binary Logical Operators')}}
{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-logical-not-operator', 'Logical NOT operator')}}
+ {{SpecName('ES6', '#sec-binary-logical-operators', 'Binary Logical Operators')}}
{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
AND lògic (&&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
OR lògic (||){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
NOT lògic (!){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
AND lògic (&&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
OR lògic (||){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
NOT lògic (!){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Compatibilitat amb versions anteriors: Comportament a JavaScript 1.0 i 1.1

+ +

Els operadors && i || es comporten de la forma següent:

+ + + + + + + + + + + + + + + + + + + +
OperadorÚsComportament
&&expr1 && expr2Si el primer operand (expr1) es pot converitr a false, l'operador && retorna false en comptes del valor de expr1.
||expr1 || expr2Si el primer operand (expr1) es pot converitr a true, l'operador || retorna true en comptes del valor de expr1.
+ +

Vegeu també

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