aboutsummaryrefslogtreecommitdiff
path: root/files/ca/web/javascript/reference/statements/export
diff options
context:
space:
mode:
Diffstat (limited to 'files/ca/web/javascript/reference/statements/export')
-rw-r--r--files/ca/web/javascript/reference/statements/export/index.html159
1 files changed, 159 insertions, 0 deletions
diff --git a/files/ca/web/javascript/reference/statements/export/index.html b/files/ca/web/javascript/reference/statements/export/index.html
new file mode 100644
index 0000000000..fcf4f6283e
--- /dev/null
+++ b/files/ca/web/javascript/reference/statements/export/index.html
@@ -0,0 +1,159 @@
+---
+title: export
+slug: Web/JavaScript/Reference/Statements/export
+translation_of: Web/JavaScript/Reference/Statements/export
+original_slug: Web/JavaScript/Referencia/Sentencies/export
+---
+<div>{{jsSidebar("Statements")}}</div>
+
+<p>La<strong> </strong>sentència <strong>export</strong> s'utilitza per exportar funcions, objectes o valors primitius d'un fitxer donat (o <em>mòdul</em>) per a que els puguin fer servir altres programes amb la sentència {{jsxref("Statements/import", "import")}}.</p>
+
+<p>Els mòduls exportats estan sempre {{jsxref("Strict_mode","strict mode", "", 1)}}  tan si es declaren així com si no. La sentència export no es pot fer servir en mòduls incrustats (embedded).</p>
+
+<h2 id="Sintaxi">Sintaxi</h2>
+
+<pre class="syntaxbox notranslate">export <em>nom1</em>, <em>nom2</em>, ..., <em>nomN</em>;
+export default <em>nom1</em> </pre>
+
+<dl>
+ <dt><code>nomN</code></dt>
+ <dd>Propietat, funció, o objecte que s'ha d'exportar (de manera que es pot importar a través de <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/import">import</a></code> en un altre script).</dd>
+</dl>
+
+<h2 id="Descripció">Descripció</h2>
+
+<p>Hi ha dos tipus diferents d'export:</p>
+
+<ul>
+ <li>Exportacions nominals (una o més per mòdul):
+ <pre class="brush: js notranslate">export myFunction; // exporta una funció declarada anteriorment
+export const foo = Math.sqrt(2); // exporta una constant
+export let <var>name1</var>, <var>name2</var>, …, <var>nameN</var>;
+export let <var>name1</var> = …, <var>name2</var> = …, …, <var>nameN</var>;
+export function functionName(){...}
+export class ClassName {...}</pre>
+ </li>
+ <li>Exportacions per defecte (una per mòdul):
+ <pre class="notranslate">export default <em>expression</em>;
+export default function (…) { … } // també class, function*
+export default function name1(…) { … } // també class, function*
+export { <var>name1</var> as default, … };</pre>
+ </li>
+</ul>
+
+<p>Les exportacions amb nom són útils per exportar diversos valors. Durant la importació, un serà capaç d'utilitzar el mateix nom per referir-se al valor corresponent.</p>
+
+<p>Sobre la exportació per defecte, només pot haver-n'hi una per mòdul. Una exportació per defecte pot ser una funció, una classe un objecte o qualsevol altra cosa. Aquest valor es considerarà el principal valor exportat, ja que serà el més fàcil d'importar.</p>
+
+<h2 id="Exemples">Exemples</h2>
+
+<h3 id="Usant_les_exportacions_nominals">Usant les exportacions nominals</h3>
+
+<p>En el mòdul podem fer servir el codi següent:</p>
+
+<pre class="brush: js notranslate">// "modul.js"
+export function cub(x) {
+ return x * x * x;
+}
+const foo = Math.PI + Math.SQRT2;
+export foo;
+</pre>
+
+<p>Així, en un altre mòdul podem tenir:</p>
+
+<pre class="brush: js notranslate">import { cub, foo } from 'modul.js';
+console.log(cub(3)); // 9
+console.log(foo); // 4.555806215962888</pre>
+
+<h3 id="Usant_lexportació_per_defecte">Usant l'exportació per defecte</h3>
+
+<p>Si volem exportar un únic valor o tenir un valor per defecte per al nostre mòdul podem fer::</p>
+
+<pre class="brush: js notranslate">// "modul.js"
+var function cub(x) {
+ return x * x * x;
+}
+export default cub;</pre>
+
+<p>Així, en un altre mòdul podem importar directament:</p>
+
+<pre class="brush: js notranslate">import laFuncio from 'modul';
+console.log(laFuncio(3)); // 9
+</pre>
+
+<h2 id="Especificacions">Especificacions</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Especificació</th>
+ <th scope="col">Estat</th>
+ <th scope="col">Comentaris</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-imports', 'Imports')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Definició inicial</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2>
+
+<p>{{CompatibilityTable}}</p>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Android</th>
+ <th>Chrome per Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="Vegeu_també">Vegeu també</h2>
+
+<ul>
+ <li>{{jsxref("Statements/import", "import")}}</li>
+ <li><a href="https://hacks.mozilla.org/2015/08/es6-in-depth-modules/">ES6 in Depth: Modules</a>, Hacks blog post per Jason Orendorff</li>
+ <li><a href="http://exploringjs.com/es6/ch_modules.html">Axel Rauschmayer's book: "Exploring JS: Modules"</a></li>
+</ul>