@@ -3,70 +3,71 @@ layout: default
3
3
title : ES6
4
4
---
5
5
6
- # ES6 on io.js
7
-
8
- io.js is built against modern versions of [ V8] ( https://code.google.com/p/v8/ ) .
9
- By keeping up-to-date with the latest releases of this engine we ensure new
10
- features from the [ JavaScript ECMA-262
11
- specification ] ( http://www.ecma-international.org/publications/standards/Ecma-262.htm )
12
- are brought to io.js developers in a timely manner, as well as continued
13
- performance and stability improvements .
14
-
15
- Version {{ iojs_version }} of io.js ships with V8 {{ v8_version }}, which
16
- includes ES6 features well beyond version 3.26.33 that will be shipped with
17
- joyent/node@ 0.12.x.
18
-
19
- ## No more --harmony flag
20
-
21
- On joyent/node @0.12.x (V8 3.26), the ` --harmony ` runtime flag enabled all
22
- ** completed** , ** staged** and ** in progress** ES6 features together, in bulk
23
- (with the exception of nonstandard/non-harmonious semantics for ` typeof ` which
24
- were hidden under ` --harmony-typeof ` ). This meant that some really buggy or even
25
- broken features like
26
- [ proxies ] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy )
27
- were just as readily available for developers as
6
+ # ES6 i io.js
7
+
8
+ io.js bruker moderne versjoner av [ V8] ( https://code.google.com/p/v8/ ) .
9
+ Ved å holde prosjektet oppdatert med de siste versjonene av V8 sørger
10
+ vi for at nye funksjoner fra [ JavaScript
11
+ ECMA-262 spesifikasjonen ] ( http://www.ecma-international.org/publications/standards/Ecma-262.htm )
12
+ er tilgjengelig for io.js utviklere innen rimelig tid. I tillegg vil sikkerhets-
13
+ og ytelesesforbedringer komme raskt .
14
+
15
+ Versjon {{ iojs_version }} av io.js kommer med V8 {{ v8_version }}, denne
16
+ inkluderer ES6-funksjoner godt forbi versjon 3.28.73 som vil bli levert med
17
+ Node.js™ 0.12.x.
18
+
19
+ ## Slutt på --harmony-flagget
20
+
21
+ Med Node.js™ @0 .12.x (V8 3.28+) aktiverte ` --harmony ` -flagget alle
22
+ ** completed** , ** staged** og ** in progress** ES6-funksjoner sammen
23
+ (med unntak av ` proxies ` som
24
+ ble skjult ved bruk av ` --harmony-proxies ` ). Dette resulterte i at ustabile eller
25
+ til og med ødelagte funksjoner som
26
+ [ Arrow Functions ] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions )
27
+ var like tilgjengelig for utviklere som
28
28
[ generators] ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function* ) ,
29
- which had very little or even no known-issues. As such, it was best practice to
30
- either enable only certain features by using specific runtime harmony feature
31
- flags (e.g. ` --harmony-generators ` ), or simply enable all of them and then use a
32
- restricted subset .
29
+ som hadde veldig få eller ingen kjente problemer. Følgelig var det sikrest
30
+ å aktivere enten et fåtall funksjoner ved å bruke spesifikke harmony-flagg (f.eks.
31
+ ` --harmony-generators ` ), eller aktivere dem alle og deretter bare bruke
32
+ en begrenset delmengde .
33
33
34
- With [email protected] (V8 4.1+)
, all
that complexity goes away. All harmony
features
35
- are now logically split into three groups for ** shipping** , ** staged** and ** in
36
- progress** features :
34
+ Med [email protected] (V8 4.1+)
forsvinner all
denne kompleksiteten. Alle harmony
-funksjoner
35
+ er nå logisk fordelt inn i tre grupper for ** shipping** , ** staged** og ** in
36
+ progress** funksjoner :
37
37
38
- * All ** shipping** features, the ones that V8 has considered stable, like <a
38
+ * Alle ** shipping** funksjoner, som V8 har vurdert som stabile, for eksempel <a
39
39
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">generators </a >,
40
40
<a
41
41
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings">templates </a >,
42
42
<a
43
43
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla#Additions_to_the_String_object">new
44
- string methods</a > and many others are turned ** on by default on io.js** and
45
- do ** NOT** require any kind of runtime flag.
46
- * Then there are ** staged** features which are almost-completed features that
47
- haven't been completely tested or updated to the latest spec yet and
48
- therefore are not considered stable by the V8 team (e.g. there might be some
49
- edge cases left to discover). This is probably the equivalent of the state of
44
+ string methods</a > og mange flere er nå skrudd ** på som standard i io.js** og
45
+ krever ** INGEN** flagg.
46
+ * Deretter er det ** staged** funksjoner, som er nesten fullførte funksjoner som ikke
47
+ har blitt fullstendig testet eller oppdatert i henhold til den siste spesifikasjonen
48
+ enda. Følgelig er de ikke ansett som stabile av V8 laget (f.eks. kan det være
49
+ noen 'edge cases' som ikke har blitt oppdaget). Dette er mest sannsynlig
50
+ ekvivalent med tilstanden til
50
51
<a
51
52
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*">generators </a >
52
- on 3.26. These are the "use at your own risk" type of features that now
53
- require a runtime flag : ` --es_staging ` (or its synonym , ` --harmony ` ).
54
- * Finally, all ** in progress** features can be activated individually by their
55
- respective harmony flag (e.g . ` --harmony_arrow_functions ` ), although this is
56
- highly discouraged unless for testing purposes .
53
+ i 3.26. Disse er "bruk på egen risiko" funksjoner som nå krever flagget
54
+ : ` --es_staging ` (eller synonymet , ` --harmony ` ).
55
+ * Avsluttende kan alle ** in progress** funksjoner bli aktivert individuelt
56
+ av deres respektive harmony-flagg (f.eks . ` --harmony_arrow_functions ` ), selv om
57
+ dette ikke er anbefalt - ved mindre det brukes til testing .
57
58
58
- ## Which ES6 features ship with io.js by default (no runtime flag required )?
59
+ ## Hvilke ES6-funksjoner følger med io.js som standard (uten å bruke flagg )?
59
60
60
61
* Block scoping
61
62
* <a href =" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let " >let</a >
62
63
* <a href =" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const " >const</a >
63
64
* ` function ` -in-blocks
64
65
65
- As of v8 3.31.74.1, block-scoped declarations are <a
66
- href="https://groups.google.com/forum/#!topic/v8-users/3UXNCkAU8Es">intentionally
67
- implemented with a non-compliant limitation to strict mode code </a >. Developers
68
- should be aware that this will change as v8 continues towards ES6 specification
69
- compliance .
66
+ Fra og med v8 3.31.74.1, er block-scoped declarations <a
67
+ href="https://groups.google.com/forum/#!topic/v8-users/3UXNCkAU8Es">forsettlig
68
+ implementert med en ikke-kompatibel begrensning til strict modus kode. </a >
69
+ Utviklere bør være klar over at dette vil endres i takt med V8 sin implementasjon
70
+ av ES6-spesifikasjonen .
70
71
71
72
* Collections
72
73
* <a href =" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map " >Map</a >
@@ -80,30 +81,30 @@ compliance.
80
81
* <a href =" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol " >Symbols</a >
81
82
* <a href =" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings " >Template strings</a >
82
83
83
- You can view a more detailed list, including a comparison with other engines, on the <a href =" https://kangax.github.io/compat-table/es6/ " >compat-table</a > project page.
84
+ Du kan se en mer detaljert liste med sammenligning opp mot andre motorer på
85
+ <a href =" https://kangax.github.io/compat-table/es6/ " >compat-table</a > prosjektsiden.
84
86
85
- ## Which ES6 features are behind the --es_staging flag ?
87
+ ## Hvilke ES6-funksjoner ligger i --es_staging-flagget ?
86
88
87
89
* <a href =" https://github.com/lukehoban/es6features#classes " >Classes</a > (strict mode only)
88
90
* <a href =" https://github.com/lukehoban/es6features#enhanced-object-literals " >Object literal extensions</a ></li >
89
91
* <a href =" https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol " >` Symbol.toStringTag ` </a > (user-definable results for ` Object.prototype.toString ` )
90
92
91
- ## I have my infrastructure set up to leverage the --harmony flag. Should I remove it?
92
-
93
- The current behaviour of the ` --harmony ` flag on io.js is to enable ** staged**
94
- features only. After all, it is now a synonym of ` --es_staging ` . As mentioned
95
- above, these are completed features that have not been considered stable yet. If
96
- you want to play safe, especially on production environments, consider removing
97
- this runtime flag until it ships by default on V8 and, consequently, on io.js.
98
- If you keep this enabled, you should be prepared for further io.js upgrades to
99
- break your code if V8 changes their semantics to more closely follow the
100
- standard.
101
-
102
- ## How do I find which version of V8 ships with a particular version of io.js?
103
-
104
- io.js provides a simple way to list all dependencies and respective versions
105
- that ship with a specific binary through the ` process ` global object. In case of
106
- the V8 engine, type the following in your terminal to retrieve its version:
93
+ ## Jeg bruker --harmony-flagg i produksjon. Burde jeg fjerne det?
94
+
95
+ Den nåværende oppførselen til ` --harmony ` -flagget i io.js er å kun aktivere
96
+ ** staged** funksjoner. Tross alt er nå dette synonymt med ` --es_staging ` .
97
+ Som nevnt overfor are dette fullførte funksjoner som enda ikke er ansett
98
+ som stabile enda. Hvis du ønsker å være på den sikre siden, kanskje spesielt
99
+ med tanke på produksjonsmiljøer, bør du vurdere å fjerne dette flagget inntil
100
+ det leveres som standard av V8 og io.js. Hvis du fortsetter å ha flagget aktivert
101
+ bør du være forberedt på at nyere io.js oppgraderinger kan ødelegge koden din
102
+ dersom V8 endrer semantikken sin til å være mer lik standarden.
103
+
104
+ ## Hvordan finner jeg ut hvilken versjon av V8 en gitt io.js versjon har?
105
+ io.js har en enkel måte å liste alle avhengigheter/dependencies og versjoner
106
+ av en gitt binær med det globale objektet ` process ` . For å finne V8 versjonen
107
+ kan du skrive følgende i terminalen:
107
108
108
109
```
109
110
iojs -p process.versions.v8
0 commit comments