2016-01-22 15 views
34

Ich war unter dem Eindruck, Semikola wurde mit ES6 veraltet. Allerdings habe ich über diese heute kam:Verwendung von Semikolons in ES6

funktioniert nicht:

let i = 0 

[0, 1, 2, 3, 4, 5, 6].forEach(item => console.log(item)) 

Works:

let i = 0; 

[0, 1, 2, 3, 4, 5, 6].forEach(item => console.log(item)) 

Warum das Semikolon notwendig ist hier, und wann sollte ich sie verwenden?

+7

Woher hast du die Idee, dass Semikolons veraltet sind ??!? – Amit

+6

Semikolons sind nicht veraltet, automatische Semikolon-Einfügung war schon immer Teil von js. Das Starten einer Zeile mit einer eckigen Klammer ist ein Fall, in dem das Hinzufügen eines Semikolons Sie vor einem asi-Fehler bewahrt https://youtu.be/Qlr-FGbhKaI?t=5m58s – Christine

+6

Die [Regeln für das automatische Einfügen von Semikolons] (http://www.ecma-international.org/ecma-262/6.0/#sec-automatic-semicolon-insertion) ist im ES2015 immer noch dasselbe wie immer – adeneo

Antwort

28

Ohne das Semikolon [1,2,3,4,5,6] wird als Eigenschaft Zugriff ausgewertet. Das ist völlig in Ordnung. JS, ich persönlich glaube nicht, dass das Hinzufügen von Semikolons so eine große Sache ist, also benutze ich sie weiter.

+12

Nennen wir es "Eigenschaftenzugriff", nicht "Index eines Arrays". In '0 [6]' gibt es kein Array. – Bergi

+5

Als Alternative zur Verwendung von Semikolons können Linting-Tools verwendet werden, um diese mehrdeutigen Szenarien für Sie zu erfassen, z. http://eslint.org/docs/rules/no-unexpected-multiline, auf diese Weise können Sie die allgemeine Regel ohne Semikolons beibehalten, sie jedoch bei Bedarf hinzufügen. – mikeapr4

Verwandte Themen