Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2015-10-04T09:57:34+02:00Les derniers messages parus sur le forum de Zeste de Savoir.class est un identifiant réservé, message #760872015-10-04T09:57:34+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p76087<p>Je n'ai pas eu de problème avec le scope, ça doit être Node.js. Et les autres problèmes seront peut-être corrigés dans une prochaine version d'EcmaScript. Et puis pour ce que je fait, ça ne pose pas de problèmes.</p>class est un identifiant réservé, message #760742015-10-04T02:17:50+02:00Nek/@Nekhttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p76074<p>J'ai rencontré les problèmes suivants quand j'ai voulu les utiliser:</p>
<ul>
<li>Problèmes de scope (le this est bizarre)</li>
<li>Pas d'introspection</li>
<li>Pas de prototypage</li>
<li>Pas de variables et méthodes privées</li>
</ul>
<p>Mon plus gros problème a été les soucis de scope, mais c'est peut être uniquement du côté de nodejs…?</p>class est un identifiant réservé, message #759762015-10-03T11:54:37+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p75976<p>D'accord, merci pour votre aide. Je pense que je vais opter pour un transpilateur, j'aimerai que ma solution marche sur tous les navigateurs.</p>
<figure><blockquote>
<p>Au passage, les classes définies de la sorte ne sont pas forcément idéales dans le cadre du développement en javascript.
</p>
</blockquote>
<figcaption><p><a href="http://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p75956">Nek</a></p></figcaption></figure><p>Qu'es ce que tu veux dire par là ?</p>class est un identifiant réservé, message #759642015-10-03T11:05:07+02:00vibrice/@vibricehttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p75964<p>Sinon il faut un transpileur (ES6 => ES5) comme babel, traceur, etc.</p>class est un identifiant réservé, message #759562015-10-03T10:42:48+02:00Nek/@Nekhttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p75956<p>Hello,</p>
<p>Le mot-clé <code>class</code> n'est utilisable qu'en ES6. Si tu es avec nodejs il faudra utiliser <code>"use strict";</code> en début de fichier (et être certain que tu utilises bien nodejs 4.x).</p>
<p>Si tu veux l'utiliser en web, je connais moins bien les conditions mais cela ne fonctionnera qu'avec Google Chrome (ou Chromium, évidemment).</p>
<p>Au passage, les classes définies de la sorte ne sont pas forcément idéales dans le cadre du développement en javascript.</p>class est un identifiant réservé, message #759512015-10-03T09:53:48+02:00elyppire/@elyppirehttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p75951<p><sub>Sans répondre à la question, juste pour indiquer que je viens d'éditer ton message pour corriger un petit bug sur les tags.</sub></p>class est un identifiant réservé, message #759362015-10-03T01:22:51+02:00anonyme/@anonymehttps://zestedesavoir.com/forums/sujet/4177/class-est-un-identifiant-reserve/?page=1#p75936<p>Bonjour les agrumes !</p>
<p>Je m'intéresse de plus en plus à JavaScript, surtout depuis que j'ai découvert la nouvelle version du standard EcmaScript. J'ai don décidé de faire <a href="https://zestedesavoir.com/forums/sujet/4166/octobre-2015-creez-une-calculatrice/">ce défi</a>. J'ai essayé d'utiliser les nouvelles fonctionnalités comme les templates strings, la boucle for-of et la POO, mais j'ai un problème avec ce dernier point. En effet lorsque j'éxécute mon script je reçoit une erreur qui est : <code>SyntaxError : class is a reserved identifier</code>. Voilà, je n'en sais pas plus même après avoir lu une dizaine d'articles et de topics différents sur le sujet …</p>
<p>Et voici mon code (ça peut vous être utile) :</p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54</pre></div></td><td class="code"><div class="codehilite"><pre><span class="kr">class</span> <span class="nx">Calculette</span> <span class="p">{</span>
<span class="nx">constructor</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">read</span> <span class="p">();</span>
<span class="nb">eval</span> <span class="p">();</span>
<span class="nx">print</span> <span class="p">();</span>
<span class="p">}</span>
<span class="nx">read</span> <span class="p">()</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">input</span> <span class="o">=</span> <span class="nx">prompt</span><span class="p">(</span><span class="s2">"Veuillez entrer votre calcul"</span><span class="p">);</span>
<span class="kd">var</span> <span class="nx">splitted</span> <span class="o">=</span> <span class="p">[];</span>
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="kr">char</span> <span class="nx">of</span> <span class="nx">input</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="kr">char</span> <span class="o">!=</span> <span class="s2">" "</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">operations</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="kr">char</span><span class="p">))</span> <span class="p">{</span>
<span class="kr">char</span> <span class="o">=</span> <span class="nb">Number</span><span class="p">(</span><span class="kr">char</span><span class="p">);</span>
<span class="p">}</span>
<span class="nx">splitted</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="kr">char</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">this</span><span class="p">.</span><span class="nx">stack</span> <span class="o">=</span> <span class="nx">splitted</span><span class="p">;</span>
<span class="p">}</span>
<span class="nb">eval</span> <span class="p">()</span> <span class="p">{</span>
<span class="k">for</span> <span class="p">(</span><span class="kd">var</span> <span class="nx">word</span> <span class="nx">of</span> <span class="nx">stack</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="nx">operations</span><span class="p">.</span><span class="nx">includes</span><span class="p">(</span><span class="nx">word</span><span class="p">))</span> <span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">word</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="kd">var</span> <span class="nx">op1</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">pop</span><span class="p">;</span>
<span class="kd">var</span> <span class="nx">op2</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">pop</span><span class="p">;</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">word</span> <span class="o">==</span> <span class="s2">"+"</span><span class="p">)</span> <span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">op1</span> <span class="o">+</span> <span class="nx">op2</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">word</span> <span class="o">==</span> <span class="s2">"-"</span><span class="p">)</span> <span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">op1</span> <span class="o">-</span> <span class="nx">op2</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">word</span> <span class="o">==</span> <span class="s2">"*"</span><span class="p">)</span> <span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">op1</span> <span class="o">*</span> <span class="nx">op2</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="k">if</span> <span class="p">(</span><span class="nx">word</span> <span class="o">==</span> <span class="s2">"/"</span><span class="p">)</span> <span class="p">{</span>
<span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">unshift</span><span class="p">(</span><span class="nx">op1</span> <span class="o">/</span> <span class="nx">op2</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="k">this</span><span class="p">.</span><span class="nx">result</span> <span class="o">=</span> <span class="k">this</span><span class="p">.</span><span class="nx">stack</span><span class="p">.</span><span class="nx">pop</span><span class="p">();</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="nx">print</span> <span class="p">()</span> <span class="p">{</span>
<span class="nx">alert</span> <span class="p">(</span><span class="err">`</span><span class="nx">Le</span> <span class="nx">résultat</span> <span class="nx">est</span> <span class="nx">$</span><span class="p">{</span><span class="k">this</span><span class="p">.</span><span class="nx">result</span><span class="p">}</span><span class="err">`</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kd">var</span> <span class="nx">calc</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Calculette</span><span class="p">();</span>
<span class="kr">const</span> <span class="nx">operations</span> <span class="o">=</span> <span class="p">[</span><span class="s2">"+"</span><span class="p">,</span> <span class="s2">"-"</span><span class="p">,</span> <span class="s2">"*"</span><span class="p">,</span> <span class="s2">"/"</span><span class="p">];</span>
</pre></div>
</td></tr></table>
<p><sup>Oui, pas de balise secret, j'ai du mal avec le markdown, désolé.</sup></p>
<p>Merci d'avance pour votre aide ! <img alt=":)" src="/static/smileys/smile.png"></p>