aboutsummaryrefslogtreecommitdiff
path: root/files/fa/web/javascript/reference/errors/unexpected_token/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/fa/web/javascript/reference/errors/unexpected_token/index.html')
-rw-r--r--files/fa/web/javascript/reference/errors/unexpected_token/index.html84
1 files changed, 84 insertions, 0 deletions
diff --git a/files/fa/web/javascript/reference/errors/unexpected_token/index.html b/files/fa/web/javascript/reference/errors/unexpected_token/index.html
new file mode 100644
index 0000000000..77fa2e06c5
--- /dev/null
+++ b/files/fa/web/javascript/reference/errors/unexpected_token/index.html
@@ -0,0 +1,84 @@
+---
+title: 'SyntaxError: Unexpected token'
+slug: Web/JavaScript/Reference/Errors/Unexpected_token
+translation_of: Web/JavaScript/Reference/Errors/Unexpected_token
+---
+<div class="twocolumns">
+
+</div>
+
+<div class="threecolumns">
+<p>{{jsSidebar("Errors")}}</p>
+</div>
+
+<p>The JavaScript exceptions "unexpected token" occur when a specific language construct was expected, but something else was provided. This might be a simple typo.</p>
+
+<h2 id="Message">Message</h2>
+
+<pre class="syntaxbox notranslate">SyntaxError: expected expression, got "x"
+SyntaxError: expected property name, got "x"
+SyntaxError: expected target, got "x"
+SyntaxError: expected rest argument name, got "x"
+SyntaxError: expected closing parenthesis, got "x"
+SyntaxError: expected '=&gt;' after argument list, got "x"
+</pre>
+
+<h2 id="Error_type">Error type</h2>
+
+<p>{{jsxref("SyntaxError")}}</p>
+
+<h2 id="What_went_wrong">What went wrong?</h2>
+
+<p>A specific language construct was expected, but something else was provided. This might be a simple typo.</p>
+
+<h2 id="Examples">Examples</h2>
+
+<h3 id="Expression_expected">Expression expected</h3>
+
+<p>For example, when chaining expressions, trailing commas are not allowed.</p>
+
+<pre class="brush: js example-bad notranslate">for (let i = 0; i &lt; 5,; ++i) {
+ console.log(i);
+}
+// SyntaxError: expected expression, got ')'
+</pre>
+
+<p>Correct would be omitting the comma or adding another expression:</p>
+
+<pre class="brush: js example-good notranslate">for (let i = 0; i &lt; 5; ++i) {
+ console.log(i);
+}
+</pre>
+
+<h3 id="Not_enough_brackets">Not enough brackets</h3>
+
+<p>Sometimes, you leave out brackets around <code>if</code> statements:</p>
+
+<pre class="brush: js example-bad line-numbers language-js notranslate">function round(n, upperBound, lowerBound){
+ if(n &gt; upperBound) || (n &lt; lowerBound){
+ throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
+ }else if(n &lt; ((upperBound + lowerBound)/2)){
+ return lowerBound;
+ }else{
+ return upperBound;
+ }
+} // SyntaxError: expected expression, got '||'</pre>
+
+<p>The brackets may look correct at first, but note how the <code>||</code> is outside the brackets. Correct would be putting brackets around the <code>||</code>:</p>
+
+<pre class="brush: js example-good notranslate">function round(n, upperBound, lowerBound){
+ if((n &gt; upperBound) || (n &lt; lowerBound)){
+ throw 'Number ' + String(n) + ' is more than ' + String(upperBound) + ' or less than ' + String(lowerBound);
+ }else if(n &lt; ((upperBound + lowerBound)/2)){
+ return lowerBound;
+ }else{
+ return upperBound;
+ }
+}
+</pre>
+
+<h2 id="See_also">See also</h2>
+
+<ul>
+ <li>{{jsxref("SyntaxError")}}</li>
+</ul>