From 004b3c5fc8d71b68fcb019c9e0346bf80024dbbd Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:48:47 +0100 Subject: unslug nl: move --- .../web/javascript/reference/operators/index.html | 288 +++++++++++++++++++++ .../reference/operators/typeof/index.html | 244 +++++++++++++++++ 2 files changed, 532 insertions(+) create mode 100644 files/nl/web/javascript/reference/operators/index.html create mode 100644 files/nl/web/javascript/reference/operators/typeof/index.html (limited to 'files/nl/web/javascript/reference/operators') diff --git a/files/nl/web/javascript/reference/operators/index.html b/files/nl/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..fc499002b4 --- /dev/null +++ b/files/nl/web/javascript/reference/operators/index.html @@ -0,0 +1,288 @@ +--- +title: Expressies and operators +slug: Web/JavaScript/Reference/Operatoren +translation_of: Web/JavaScript/Reference/Operators +--- +
{{jsSidebar("Operators")}}
+ +

Deze documentatie bevat informatie over JavaScript operators.

+ +

Expressies en operators per categorie

+ +

Voor alfabetische lijst, zie sidebar.

+ +

Primaire expressies

+ +

Trefwoorden en algmene expressies in JavaScript.

+ +
+
{{jsxref("Operators/this", "this")}}
+
this verwijst naar de context van een functie.
+
{{jsxref("Operators/function", "function")}}
+
function geeft aan dat er een functie moet worden gemaakt
+
{{experimental_inline}} {{jsxref("Operators/class", "class")}}
+
class definieert een klasse.
+
{{experimental_inline}} {{jsxref("Operators/function*", "function*")}}
+
Het function* trefwoord definieert een generator functie expressie.
+
{{experimental_inline}} {{jsxref("Operators/yield", "yield")}}
+
Pauzeer en start een generator functie.
+
{{experimental_inline}} {{jsxref("Operators/yield*", "yield*")}}
+
Doorgegeven aan een andere generator functie.
+
{{jsxref("Global_Objects/Array", "[]")}}
+
Definieert een lijst met data.
+
{{jsxref("Operators/Object_initializer", "{}")}}
+
Definieert een object.
+
{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
+
Reguliere expressie.
+
{{experimental_inline}} {{jsxref("Operators/Array_comprehensions", "[for (x of y) x]")}}
+
Datalijst omvang.
+
{{experimental_inline}} {{jsxref("Operators/Generator_comprehensions", "(for (x of y) y)")}}
+
Generator omvang.
+
{{jsxref("Operators/Grouping", "( )")}}
+
Groep operator.
+
+ +

Left-hand-side expressies

+ +

Deze voeren een opdracht uit met een van de bovenstaande expressies.

+ +
+
{{jsxref("Operators/Property_accessors", "Property accessors", "", 1)}}
+
Haalt data uit een object op
+ (object.property en object["property"]).
+
{{jsxref("Operators/new", "new")}}
+
Maakt een nieuwe constructor.
+
{{experimental_inline}} new.target
+
In constructors, new.target verwijst naar het object dat werd aangeroepen door {{jsxref("Operators/new", "new")}}. 
+
{{experimental_inline}} {{jsxref("Operators/super", "super")}}
+
Het super keywoord verwijst naar de hoofdconstructor.
+
{{experimental_inline}} {{jsxref("Operators/Spread_operator", "...obj")}}
+
De spread operator stelt een expressie uit te breiden op plaatsen waar meerdere argumenten (voor de functies die opgeroepen worden) of meerdere elementen (voor Array literalen) zijn verplicht.
+
+ +

Optellen en Aftrekken

+ +

Voor optellen en aftrekken bij variabelen.

+ +
+
{{jsxref("Operators/Arithmetic_Operators", "A++", "#Increment")}}
+
Achtervoegsel optel operator.
+
{{jsxref("Operators/Arithmetic_Operators", "A--", "#Decrement")}}
+
Achtervoegsel aftrek operator.
+
{{jsxref("Operators/Arithmetic_Operators", "++A", "#Increment")}}
+
Voorvoegsel optel operator.
+
{{jsxref("Operators/Arithmetic_Operators", "--A", "#Decrement")}}
+
Voorvoegsel aftrek operator.
+
+ +

Unaire operatoren

+ +

Een unaire operatie is een operatie met slechts één operand.

+ +
+
{{jsxref("Operators/delete", "delete")}}
+
De delete operator verwijdert een object of item van een object.
+
{{jsxref("Operators/void", "void")}}
+
De void operator verwijdert de returnwaarde van een expressie.
+
{{jsxref("Operators/typeof", "typeof")}}
+
De typeof operator geeft het type van het object.
+
We zijn bezig met vertalen van het document, maar we zijn nog niet klaar.
+
+ +
+
{{jsxref("Operators/Arithmetic_Operators", "+", "#Unary_plus")}}
+
De unaire plus operator zet zijn operand om naar type Number
+
{{jsxref("Operators/Arithmetic_Operators", "-", "#Unary_negation")}}
+
De unaire negatie operator zet zijn operand om naar Number en zet hem dan om in haar tegendeel.
+
{{jsxref("Operators/Bitwise_Operators", "~", "#Bitwise_NOT")}}
+
Bitwise NOT operator.
+
{{jsxref("Operators/Logical_Operators", "!", "#Logical_NOT")}}
+
Logische NOT operator.
+
+ +

Rekenkundige operators

+ +

Rekenkundige operators accepteren numerieke waarden (letterlijke waarden of variablen) als hun operand en retourneren een enkele numerieke waarde.

+ +
+
{{jsxref("Operators/Arithmetic_Operators", "+", "#Addition")}}
+
Additie operator.
+
{{jsxref("Operators/Arithmetic_Operators", "-", "#Subtraction")}}
+
Subtractie operator.
+
{{jsxref("Operators/Arithmetic_Operators", "/", "#Division")}}
+
Divisie operator.
+
{{jsxref("Operators/Arithmetic_Operators", "*", "#Multiplication")}}
+
Multiplicatie operator.
+
{{jsxref("Operators/Arithmetic_Operators", "%", "#Remainder")}}
+
Rest operator.
+
+ +
+
{{experimental_inline}} {{jsxref("Operators/Arithmetic_Operators", "**", "#Exponentiation")}}
+
Exponent operator.
+
+ +

Relationele operators

+ +

Een relationele operator vergelijkt zijn operanden en retourneert een Boolean gebaseerd op de uitkomst van de vergelijking.

+ +
+
{{jsxref("Operators/in", "in")}}
+
De in operator bepaalt of een object een zekere eigenschap heeft.
+
{{jsxref("Operators/instanceof", "instanceof")}}
+
De instanceof operator bepaalt of een variable een instantie is van een bepaald type object.
+
{{jsxref("Operators/Comparison_Operators", "<", "#Less_than_operator")}}
+
Minder dan operator.
+
{{jsxref("Operators/Comparison_Operators", ">", "#Greater_than_operator")}}
+
Groter dan operator.
+
{{jsxref("Operators/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
+
Minder dan of gelijk aan operator.
+
{{jsxref("Operators/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
+
Groter dan of gelijk aan operator.
+
+ +

Gelijkheids operators

+ +

Het resultaat van het evalueren van een gelijkheids operator geeft altijd een Boolean gebaseerd op het resultaat van de vergelijking.

+ +
+
{{jsxref("Operators/Comparison_Operators", "==", "#Equality")}}
+
Gelijkheids operator.
+
{{jsxref("Operators/Comparison_Operators", "!=", "#Inequality")}}
+
Ongelijkheids operator.
+
{{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}
+
Identiciteits operator.
+
{{jsxref("Operators/Comparison_Operators", "!==", "#Nonidentity")}}
+
Nonidenticiteits operator.
+
+ +

Bitwijs shift operators

+ +

Operaties die alle bits van de operand verschuiven.

+ +
+
{{jsxref("Operators/Bitwise_Operators", "<<", "#Left_shift")}}
+
Bitwijs linker shift operator.
+
{{jsxref("Operators/Bitwise_Operators", ">>", "#Right_shift")}}
+
Bitwijs rechter shift operator.
+
{{jsxref("Operators/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
+
Bitwijs tekenloze rechter shift operator.
+
+ +

Binaire bitwijs operators

+ +

Bitwijs operatoren behandelen hun operand als een set van 32 bits en retourneren een standaard JavaScript numerieke waarde.

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

Binaire logische operators

+ +

Logische operatoren worden normaliter gebruikt met Booleans en retourneren ook een Boolean waarde.

+ +
+
{{jsxref("Operators/Logical_Operators", "&&", "#Logical_AND")}}
+
Logische AND.
+
{{jsxref("Operators/Logical_Operators", "||", "#Logical_OR")}}
+
Logische OR.
+
+ +

Conditionele (ternary) operator

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

The conditionele operator retourneert een of twee waarden gebaseerd op de waarde van de conditie.

+
+
+ +

Toekennings operators

+ +

Een toekennings operator kent een waarde toe aan zijn linker operand gebaseerd op de waarde van zijn rechter operand.

+ +
+
{{jsxref("Operators/Assignment_Operators", "=", "#Assignment")}}
+
Toekennings operator.
+
{{jsxref("Operators/Assignment_Operators", "*=", "#Multiplication_assignment")}}
+
Vermenigvuldigings toekenning.
+
{{jsxref("Operators/Assignment_Operators", "/=", "#Division_assignment")}}
+
Delings toekenning.
+
{{jsxref("Operators/Assignment_Operators", "%=", "#Remainder_assignment")}}
+
Rest toekenning.
+
{{jsxref("Operators/Assignment_Operators", "+=", "#Addition_assignment")}}
+
Additieve toekenning.
+
{{jsxref("Operators/Assignment_Operators", "-=", "#Subtraction_assignment")}}
+
Substractieve toekenning
+
{{jsxref("Operators/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
+
Linker shift toekenning.
+
{{jsxref("Operators/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
+
Rechter shift toekenning.
+
{{jsxref("Operators/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
+
Tekenloze rechter shift toekenning.
+
{{jsxref("Operators/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
+
Bitwijs AND toekenning.
+
{{jsxref("Operators/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
+
Bitwijs XOR toekenning.
+
{{jsxref("Operators/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
+
Bitwijs OR toekenning.
+
{{experimental_inline}} {{jsxref("Operators/Destructuring_assignment", "[a, b] = [1, 2]")}}
+ {{experimental_inline}} {{jsxref("Operators/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}
+
+

Ontbindings toekenningen maken het mogelijk eigenschappen van een array of object toe te kennen aan letterlijke arrays of objecten. 

+
+
+ +

Komma operator

+ +
+
{{jsxref("Operators/Comma_Operator", ",")}}
+
De komma operator maakt het mogelijk meerdere expressies te evalueren in een enkele statement en retourneert het resultaat van de laatste expressie.
+
+ +

Niet-standaard features

+ +
+
{{non-standard_inline}} {{jsxref("Operators/Legacy_generator_function", "Legacy generator function", "", 1)}}
+
Het function trefwoord kan worden gebruikt om een legacy generator functie te omschrijven binnen een expressie. Hiertoe moet de inhoud van de functie minstens 1  {{jsxref("Operators/yield", "yield")}} expressie bevatten.
+
{{non-standard_inline}} {{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}}
+
De expressie sluitings  syntax is een mogelijkheid om een verkorte functie te schrijven.
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}}{{Spec2('ES6')}}New: Spread operator, destructuring assignment, super keyword, Array comprehensions, Generator comprehensions
{{SpecName('ES5.1', '#sec-11', 'Expressions')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1', '#sec-11', 'Expressions')}}{{Spec2('ES1')}}Initial definition
+ +

See also

+ + diff --git a/files/nl/web/javascript/reference/operators/typeof/index.html b/files/nl/web/javascript/reference/operators/typeof/index.html new file mode 100644 index 0000000000..e86cf0b324 --- /dev/null +++ b/files/nl/web/javascript/reference/operators/typeof/index.html @@ -0,0 +1,244 @@ +--- +title: typeof +slug: Web/JavaScript/Reference/Operatoren/typeof +tags: + - JavaScript + - Operator + - Unair +translation_of: Web/JavaScript/Reference/Operators/typeof +--- +
{{jsSidebar("Operators")}}
+ +

De typeof-operator geeft een string terug die het type van de ongeëvalueerde operand weergeeft.

+ +

Syntaxis

+ +

De typeof-operator wordt gevolgd door zijn operand:

+ +
typeof operand
+ +

Parameters

+ +

operand is een uitdrukking die het object of de {{Glossary("Primitive", "primitief")}} voorstelt waarvan het type moet worden teruggegeven.

+ +

Beschrijving

+ +

De volgende tabel bevat de mogelijke waarden die typeof kan teruggeven. Voor meer informatie over types of primitieven, zie pagina datastructuren in Javascript.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypeResultaat
Undefined"undefined"
Null"object" (see below)
Boolean"boolean"
Number"number"
String"string"
Symbol (nieuw in ECMAScript 2015)"symbol"
Host object (voorzien door de JS omgeving)Implementatie-afhankelijk
Function object (implementeert [[Call]] in termen van ECMA-262)"function"
Elk ander object"object"
+ +

 

+ +

Voorbeelden

+ +
// Nummers
+typeof 37 === 'number';
+typeof 3.14 === 'number';
+typeof(42) === 'number';
+typeof Math.LN2 === 'number';
+typeof Infinity === 'number';
+typeof NaN === 'number'; // Ondanks dat het "Not-A-Number" is
+typeof Number(1) === 'number'; // maar gebruik deze manier nooit!
+
+
+// Strings
+typeof "" === 'string';
+typeof "bla" === 'string';
+typeof (typeof 1) === 'string'; // typeof geeft altijd een string terug
+typeof String("abc") === 'string'; // maar gebruik deze manier nooit!
+
+
+// Booleans
+typeof true === 'boolean';
+typeof false === 'boolean';
+typeof Boolean(true) === 'boolean'; // maar gebruik deze manier nooit!
+
+
+// Symbolen
+typeof Symbol() === 'symbol'
+typeof Symbol('foo') === 'symbol'
+typeof Symbol.iterator === 'symbol'
+
+
+// Ongedefinieerd
+typeof undefined === 'undefined';
+typeof declaredButUndefinedVariable === 'undefined';
+typeof undeclaredVariable === 'undefined';
+
+
+// Objecten
+typeof {a:1} === 'object';
+
+// gebruik Array.isArray of Object.prototype.toString.call
+// om het verschil aan te geven tussen normale objecten en
+// arrays (rijen).
+typeof [1, 2, 4] === 'object';
+
+typeof new Date() === 'object';
+
+
+// Het volgende is verwarrend. Niet gebruiken!
+typeof new Boolean(true) === 'object';
+typeof new Number(1) === 'object';
+typeof new String("abc") === 'object';
+
+
+// Functies
+typeof function(){} === 'function';
+typeof class C {} === 'function';
+typeof Math.sin === 'function';
+
+ +

null

+ +
// Dit geldt sinds het ontstaan van JavaScript
+typeof null === 'object';
+
+ +

In de oorspronkelijke implementatie van JavaScript werden JavaScript-waarden gerepresenteerd met een type-label en een waarde. Het type-label voor de meeste objecten was 0. null werd voorgesteld als de NULL-pointer (0x00 in de meeste platformen). Daarom had null het type-label 0, wat de foute typeof teruggeefwaarde verklaart. (referentie)

+ +

Een oplossing (via een opt-in) werd voorgesteld voor ECMAScript, maar die werd afgekeurd. Anders zou het er als volgt hebben uitgezien: typeof null === 'null'.

+ +

De new-operator gebruiken

+ +
// Alle constructorfuncties die worden geïnstantieerd met het
+// 'new'-sleutelwoord, zullen altijd typeof 'object' zijn.
+var str = new String('String');
+var num = new Number(100);
+
+typeof str; // Geeft 'object' terug
+typeof num; // Geeft 'object' terug
+
+// Maar er is een uitzondering in het geval van de functieconstructor van JavaScript.
+
+var func = new Function();
+
+typeof func; // Geeft 'function' terug
+
+ +

Reguliere uitdrukkingen

+ +

Aanroepbare reguliere uitdrukkingen waren een niet-standaard toevoeging in sommige browsers.

+ +
typeof /s/ === 'function'; // Chrome 1-12 Niet comform aan ECMAScript 5.1
+typeof /s/ === 'object';   // Firefox 5+  Conform aan ECMAScript 5.1
+
+ +

Temporal Dead Zone-fouten

+ +

Voor ECMAScript 2015 gaf typeof altijd gegarandeerd een string terug voor elke operand waarmee het was voorzien. Maar met de toevoeging van niet-gehoiste, blokgekaderde let en const ontstaat er een ReferenceError als typeof op let- en const-variabelen wordt gebruikt voordat ze zijn benoemd. Dit staat in contrast met onbenoemde variabelen, waarvoor typeof 'undefined' teruggeeft. Blokgekaderde variabelen zijn in een "temporal dead zone" vanaf het begin van het blok totdat de intialisatie is verwerkt, waarin een fout ontstaat als ze worden benaderd.

+ +
typeof onbenoemdeVariabele === 'undefined';
+typeof nieuweLetVariabele; let nieuweLetVariabele; // ReferenceError
+typeof nieuweConstVariabele; const nieuweConstVariabele = 'hallo'; // ReferenceError
+
+ +

Uitzonderingen

+ +

Alle huidige browsers onthullen een niet-standaard hostobject {{domxref("document.all")}} met type undefined.

+ +
typeof document.all === 'undefined';
+
+ +

Hoewel de specificatie aangepaste type-labels toestaat voor niet-standaard exotische objecten, vereist het dat die type-labels verschillen van de ingebouwde. Dat document.all een type-label undefined heeft moet worden geclassificeerd als een uitzonderlijke overtreding van de regels.

+ +

Specificaties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificatieStatusOpmerking
{{SpecName('ESDraft', '#sec-typeof-operator', 'The typeof Operator')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-typeof-operator', 'The typeof Operator')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-11.4.3', 'The typeof Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-11.4.3', 'The typeof Operator')}}{{Spec2('ES3')}} 
{{SpecName('ES1', '#sec-11.4.3', 'The typeof Operator')}}{{Spec2('ES1')}}Oorspronkelijke definitie. Geïmplementeerd in JavaScript 1.1.
+ +

Browsercompatibiliteit

+ + + +

{{Compat("javascript.operators.typeof")}}

+ +

IE-specifieke opmerkingen

+ +

In IE 6, 7, en 8 zijn een groot aantal host objecten objecten en geen functions. bijvoorbeeld:

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

Zie ook

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