--- title: Statements and declarations slug: Web/JavaScript/Referencia/Sentencies tags: - JavaScript - NeedsTranslation - Reference - TopicStub - statements translation_of: Web/JavaScript/Reference/Statements ---
{{jsSidebar("Statements")}}

Les aplicacions de JavaScript consisteixen en sentències amb una sintaxi adequada. Una sola sentència pot ocupar múltiples línies. Múltiples sentències poden donar-se en una sola línia si cada sentència és separada per un punt i coma. Això no és una paraula clau sino un grup de paraules claus.

Sentències i declaracions per categoria

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

Control de fluxe

{{jsxref("Sentencies/block", "Block")}}
Una sentència bloc s'utilitza per a agrupar zero o més sentències. El bloc és delimitat per un parell de claus {}.
{{jsxref("Sentencies/break", "break")}}
Acaba la sentència bucle, switch o label actual i transfereix el control del programa a la sentència que segueix la sentència que tot just s'ha acabat.
{{jsxref("Sentencies/continue", "continue")}}
Acaba l'execució de les sentències de la iteració del bucle actual o bé del bucle especificat, i continua l'execució del bucle amb la següent iteració.
{{jsxref("Sentencies/Empty", "Empty")}}
Una sentència buida s'utilitza per a proporcionar una sentència que no fa res quan JavaScript espera una sentència però no se'n necesita executar cap.
{{jsxref("Sentencies/if...else", "if...else")}}
Executa una sentència si la condició especificada és certa. Si la condició és falsa una altra sentència pot ser executada.
{{jsxref("Sentencies/switch", "switch")}}
Evalua una expressió, compara el resultat de l'evaluació amb una clàusula de tipus case i executa la sentència pertanyent a la clàusula case que és igual a l'evaluació de l'expressió.
{{jsxref("Sentencies/throw", "throw")}}
Llença una excepció definida per l'usuari.
{{jsxref("Sentencies/try...catch", "try...catch")}}
Executa un bloc de sentències i, en cas que alguna sentència del bloc llenci una excepció, executa una sentència alternativa.

Declaracions

{{jsxref("Sentencies/var", "var")}}
Declara una variable, opcionalment li assigna un valor.
{{experimental_inline()}} {{jsxref("Sentencies/let", "let")}}
Declara un bloc de variables d'àmbit local, opcionalment li assigna un valor.
{{experimental_inline()}} {{jsxref("Sentencies/const", "const")}}
Declara una constant de només lectura.

Funcions

{{jsxref("Sentencies/function", "function")}}
Declara una funció amb els paràmetres especificats.
{{experimental_inline()}} {{jsxref("Sentencies/function*", "function*")}}
Funcions generadores que permeten escriure iteradors de forma més senzilla.
{{jsxref("Sentencies/return", "return")}}
Especifica el valor que retornarà una funció.

Iteracions

{{jsxref("Sentencies/do...while", "do...while")}}
Crea un bucle que executa una sentència especificada fins que la condició de test s'evalua a fals. La condició s'evalua després d'executar la sentència, resultant en que la sentència especificada s'executa al menys un cop.
{{jsxref("Sentencies/for", "for")}}
Crea un bucle que sonsisteix en tres expressions opcionals embolcallades per parèntesi i separades per punts i coma, seguides d'una sentència que s'executarà en el bucle.
{{deprecated_inline()}} {{non-standard_inline()}} {{jsxref("Sentencies/for_each...in", "for each...in")}}
Itera sobre tots els valors de les propietats d'un objecte, assignant a una variable determinada el seu valor. Per a cada propietat distinta s'executa una sentència.
{{jsxref("Sentencies/for...in", "for...in")}}
Itera sobre les propietats enumerables d'un objecte en un ordre arbitrari. Per a cada propietat distinta s'executa una sentència.
{{experimental_inline()}} {{jsxref("Sentencies/for...of", "for...of")}}
Itera sobre objectes iterables (incloent arrays, objectes similar a arrays, iteradors i generadors), executant una sentència per al valor de cada propietat distinta.
{{jsxref("Sentencies/while", "while")}}
Crea un bucle que executa la sentència donada mentre una condició sigui certa. La condició s'evalua abans d'executar la sentència.

Altres

{{jsxref("Sentencies/debugger", "debugger")}}
Invoca qualsevol funcionalitat de depuració que estigui disponible. Si no hi ha cap funcionalitat de depuració disponible aquesta sentència no te cap efecte.
{{experimental_inline()}} {{jsxref("Sentencies/export", "export")}}
Utilitzada per a exportar funcions per a que aquestes estiguin disponibles per a imports a mòduls externs, en altres scripts.
{{experimental_inline()}} {{jsxref("Sentencies/import", "import")}}
Utilitzada per a importar funcions exportades d'un mòdul extern, un altre script.
{{jsxref("Sentencies/label", "label")}}
Asigna un identificador a una sentència. Aquest identificador pot ser emprat en sentències break o continue.
{{deprecated_inline()}} {{jsxref("Sentencies/with", "with")}}
Extèn la cadena d'àmbit per a una sentència.

Especificacions

Especificació Estat Comentari
ECMAScript 1a Edició Standard Definició inicial.
{{SpecName('ES5.1', '#sec-12', 'Statements')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-ecmascript-language-statements-and-declarations', 'Llenguatge ECMAScript: Sentències i declaracions')}} {{Spec2('ES6')}} Nou: function*, let, for...of, yield

Vegeu també