aboutsummaryrefslogtreecommitdiff
path: root/files/tr/web/javascript/reference/lexical_grammar/index.html
blob: 6ea10234bc2a52fbd4cc4164edf43263169dfe18 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
---
title: Lexical grammar
slug: Web/JavaScript/Reference/Lexical_grammar
translation_of: Web/JavaScript/Reference/Lexical_grammar
---
<p>{{JsSidebar ("Daha çox")}}</p>

<p>Bu səhifə JavaScript-in leksik qrammatikasını təsvir edir. ECMAScript skriptlərinin mənbə mətni soldan sağa taranır və ayələr, nəzarət simvolları, xətt terminatorları, şərhlər və ya ağ boşluq olan giriş elementlərinin ardıcıllığına çevrilir. ECMAScript, həmçinin müəyyən açar sözlər və hərfləri müəyyənləşdirir və ifadələri sona çatdırmaq üçün nöqtəli vergüllərə avtomatik qoşulma qaydalarına malikdir.</p>

<p>Nəzarət simvolları<br>
 İdarəetmə simvollarının vizual nümayəndəliyi yoxdur, ancaq mətnin şərhini idarə etmək üçün istifadə olunur.</p>

<p>Unicode formatına nəzarət simvolları<br>
 Kod nöqtəsi Adı Qısaldılması Təsviri<br>
 U + 200C Sıfır eni qoşulmayan &lt;ZWNJ&gt; Müəyyən dillərdə ligaturlara qoşulmamaq üçün simvolların arasına yerləşdirilib (Wikipedia).<br>
 U + 200D Sıfır eniştiricisi &lt;ZWJ&gt; İşarələrin müəyyən dillərdə (Wikipedia) əlaqəli formasından istifadə olunmasına səbəb olmaq üçün ümumiyyətlə bağlanmayacaq simvollar arasında yerləşdirilmişdir.<br>
 U + FEFF Bayt sifariş nişanı &lt;BOM&gt; Skriptin əvvəlində onu Unicode və mətnin bayt sifarişi (Wikipedia) kimi qeyd etmək üçün istifadə olunur.<br>
 Ağ boşluq<br>
 Ağ boşluq simvolları mənbə mətninin oxunuşunu yaxşılaşdırır və ayələrini bir-birindən ayırır. Bu işarələr ümumiyyətlə kodun işləməsi üçün lazımsızdır. Transfer edilməsi lazım olan məlumatların miqdarını azaltmaq üçün tez-tez boşluq silmək üçün minifikasiya vasitələri istifadə olunur.</p>

<p>Ağ boşluq simvolları<br>
 Kod nöqtəsi Adı Qısaldılması Təsvir Escape ardıcıllığı<br>
 U + 0009 Xarakter cədvəli &lt;HT&gt; Üfüqi cədvəl \ t<br>
 U + 000B Xətt cədvəli &lt;VT&gt; Şaquli cədvəl \ v<br>
 U + 000C Forma yemi &lt;FF&gt; Səhifəni pozan idarəetmə xarakteri (Wikipedia). \ f<br>
 U + 0020 Məkan &lt;SP&gt; Normal yer<br>
 U + 00A0 Arası olmayan yer &lt;NBSP&gt; Normal yer, lakin xəttin qırıla biləcəyi nöqtə yoxdur<br>
 Digərləri Digər Unicode kosmik simvolları &lt;USP&gt; Wikipedia'dakı Unicode'dakı boşluqlar<br>
 Xətt terminatorları<br>
 Ağ boşluq simvollarına əlavə olaraq, mənbə mətninin oxunuşunu yaxşılaşdırmaq üçün xətt terminatoru simvolları istifadə olunur. Bununla birlikdə, bəzi hallarda, xətt terminatorları JavaScript kodunun icrasına təsir göstərə bilər, çünki qadağan edilmiş bir neçə yer var. Xətt terminatorları avtomatik nöqtəli vergül daxil edilməsi prosesinə də təsir göstərir. Sətir terminatorları müntəzəm ifadələrdə siniflər tərəfindən uyğunlaşdırılır.</p>

<p>Yalnız aşağıdakı Unicode kod nöqtələrinə ECMAScript-də xətt terminatoru kimi baxılır, digər xətt kəsici simvollara ağ boşluq kimi baxılır (məsələn, Next Line, NEL, U + 0085 ağ boşluq sayılır).</p>

<p>Xətt terminatoru simvolları<br>
 Kod nöqtəsi Adı Qısaldılması Təsvir Escape ardıcıllığı<br>
 U + 000A Line Feed &lt;LF&gt; UNIX sistemlərində yeni xətt xarakteri. \ n<br>
 U + 000D Daşımanın qaytarılması &lt;CR&gt; Commodore və erkən Mac sistemlərində yeni xətt xarakteri. \ r<br>
 U + 2028 Xət ayırıcı &lt;LS&gt; Vikipediya<br>
 U + 2029 Paraqraf ayırıcı &lt;PS&gt; Wikipedia<br>
 Şərhlər<br>
 Şərhlər JavaScript koduna işarə, qeyd, təklif və ya xəbərdarlıq əlavə etmək üçün istifadə olunur. Bu oxumağı və başa düşməyi asanlaşdıra bilər. Kodun icra edilməməsi üçün deaktiv edilmək üçün istifadə edilə bilər; bu dəyərli ayıklama vasitəsi ola bilər.</p>

<p>JavaScript'də şərhə əlavə etmək üçün uzun müddətdir davam edən iki yol var.</p>

<p>Birinci yol // şərh; bu eyni sətirdə onu izləyən bütün mətnləri bir şərh halına gətirir. Misal üçün:</p>

<p>funksiya comment () {<br>
   // Bu bir xəttli JavaScript şərhidir<br>
   console.log ('Salam dünya!');<br>
 }<br>
 Şərh();<br>
 İkinci yol daha çevik olan / * * / üslubdur.</p>

<p>Məsələn, bir xəttdə istifadə edə bilərsiniz:</p>

<p>funksiya comment () {<br>
   / * Bu bir xəttli JavaScript şərhidir * /<br>
   console.log ('Salam dünya!');<br>
 }<br>
 Şərh();<br>
 Bununla yanaşı, çox sətirli şərhlər edə bilərsiniz:</p>

<p>funksiya comment () {<br>
   / * Bu şərh çox sətri əhatə edir. Xəbərdarlıq<br>
      başa çatana qədər şərhə son qoymaq lazım deyil. * /<br>
   console.log ('Salam dünya!');<br>
 }<br>
 Şərh();<br>
 İstəsəniz, bir xəttin ortasında da istifadə edə bilərsiniz, baxmayaraq ki bu kodunuzu oxumağı çətinləşdirə bilər, buna görə ehtiyatla istifadə olunmalıdır:</p>

<p>funksiya şərhi (x) {<br>
   console.log ('Salam' + x / * x * / + '!' dəyərini daxil edin);<br>
 }<br>
 şərh ('dünya');<br>
 Bundan əlavə, kodu bir şərhə bağlayaraq işə salmamaq üçün kodu deaktiv etmək üçün istifadə edə bilərsiniz:</p>

<p>funksiya comment () {<br>
   / * console.log ('Salam dünya!'); * /<br>
 }<br>
 Şərh();<br>
 Bu vəziyyətdə, konsol.log () çağırışı heç bir şərh daxilində olmadığı üçün verilmir. İstənilən sayda kod xətti bu şəkildə əlil ola bilər.</p>

<p>Hashbang şərhləri<br>
 Xüsusi üçüncü bir şərh sintaksisi, hashbang comment, ECMAScript-də standartlaşdırılma mərhələsindədir (Hashbang Qrammatikası təklifinə baxın).</p>

<p>Bir hashbang şərhini yalnız bir xətt (yalnız) şərh kimi edir. Bunun əvəzinə # ilə başlayır! və yalnız bir yazı və ya modulun mütləq başlanğıcında etibarlıdır. Nəzərə alın ki, hər hansı bir boşluq # # -dan əvvəl icazə verilmir. Şərh # sonrakı bütün simvollardan ibarətdir! birinci sətrin sonuna qədər; yalnız bir belə şərhə icazə verilir.</p>

<p>Hashbang şərh, skriptin icrası üçün istifadə etmək istədiyiniz xüsusi JavaScript tərcüməçisinə gedən yolu göstərir. Nümunə aşağıdakı kimidir:</p>

<p>#! / usr / bin / env node</p>

<p>console.log ("Salam dünya");<br>
 Qeyd: JavaScript-dəki Hashbang şərhləri Unix-də təqlid olunan shebangs-ləri faylları düzgün tərcüməçi ilə işlədirdi.</p>

<p>Hashbang şərhindən əvvəl BOM bir brauzerdə işləsə də, BOM-u hasbang yazılmış bir skriptdə istifadə etmək tövsiyə edilmir. Unix / Linux-da skript işə saldığınız zaman BOM işləməyəcək. Skriptləri birbaşa işlətmək istəyirsinizsə UTF-8-ni BOM olmadan istifadə edin</p>

<p>qabıqdan.</p>

<p>Yalnız # istifadə etməlisiniz! JavaScript tərcüməçisini təyin etmək üçün şərh tərzi. Digər bütün hallarda sadəcə bir // şərh (və ya mulitiline comment) istifadə edin.</p>

<p>Açar sözlər<br>
 ECMAScript 2015 kimi qorunan açar sözlər<br>
 {{jsxref ("Bəyanatlar / break", "break")}}<br>
 {{jsxref ("Bəyanatlar / keçid", "dava")}}<br>
 {{jsxref ("Bəyanatlar / çalışın ... tutun", "tutun")}}<br>
 {{jsxref ("Bəyanatlar / sinif", "sinif")}}<br>
 {{jsxref ("Bəyanatlar / const", "const")}}<br>
 {{jsxref ("Bəyanatlar / davam et", "davam et")}}<br>
 {{jsxref ("Bəyanatlar / debugger", "debugger")}}<br>
 {{jsxref ("Bəyanatlar / default", "default")}}<br>
 {{jsxref ("Operatorlar / silmək", "Sil")}}<br>
 {{jsxref ("Bəyanatlar / etmək ... edərkən", "etmək")}}<br>
 {{jsxref ("Bəyanatlar / əgər ... başqa", "başqa")}}<br>
 {{jsxref ("Bəyanatlar / ixrac", "ixrac")}}<br>
 {{jsxref ("Bəyanatlar / sinif", "uzanır")}}<br>
 {{jsxref ("Bəyanatlar / cəhd edin ... tutun", "nəhayət")}}<br>
 {{jsxref ("Bəyanatlar / üçün", "üçün")}}<br>
 {{jsxref ("Bildirişlər / funksiya", "funksiya")}}<br>
 {{jsxref ("Bəyanatlar / əgər ... başqa", "əgər")}}<br>
 {{jsxref ("Bəyanatlar / idxal", "idxal")}}<br>
 {{jsxref ("Operatorlar / ilə", "in")}}<br>
 {{jsxref ("Əməliyyatçılar / instanceof", "instanceof")}}<br>
 {{jsxref ("Operatorlar / yeni", "yeni")}}<br>
 {{jsxref ("Bəyanatlar / qayıt", "qayıt")}}<br>
 {{jsxref ("Əməliyyatçılar / super", "super")}}<br>
 {{jsxref ("Bəyanatlar / keçid", "keçid")}}<br>
 {{jsxref ("Əməliyyatçılar / bu", "bu")}}<br>
 {{jsxref ("Bəyanatlar / atmaq", "atmaq")}}<br>
 {{jsxref ("Bəyanatlar / cəhd edin ... tutun", "cəhd edin")}}<br>
 {{jsxref ("Operatorlar / typeof", "typeof")}}<br>
 {{jsxref ("Bəyanatlar / var", "var")}}<br>
 {{jsxref ("Operatorlar / etibarsız", "etibarsız")}}<br>
 {{jsxref ("Bəyanatlar / edərkən", "isə")}}<br>
 {{jsxref ("Bəyanatlar / ilə", "ilə")}}<br>
 {{jsxref ("Əməliyyatçılar / məhsuldarlıq", "gəlir")}}<br>
 Gələcək qorunan açar sözlər<br>
 Aşağıdakılar ECMAScript spesifikasiyası ilə gələcək açar sözlər kimi qorunur. Hal-hazırda onların heç bir xüsusi funksionallığı yoxdur, lakin gələcəkdə də ola bilər, buna görə identifikator kimi istifadə edilə bilməzlər.</p>

<p>Bunlar həmişə qorunur:</p>

<p>enum<br>
 Aşağıdakılar yalnız ciddi rejim kodlarında tapıldıqda qorunur:</p>

<p>tətbiq edir<br>
 interfeysi<br>
 {{jsxref ("Bəyanatlar / qoy", "qoy")}}<br>
 paket<br>
 özəl<br>
 qorunur<br>
 ictimai<br>
 statik<br>
 Aşağıdakılar yalnız modul kodu tapdıqda qorunur:</p>

<p>gözləmək<br>
 Gələcəkdə köhnə standartlarda qorunan açar sözlər<br>
 Aşağıdakılar köhnə ECMAScript xüsusiyyətlərinə görə gələcək açar sözlər olaraq qorunur (ECMAScript 1-dən 3-ə qədər).</p>

<p>mücərrəd<br>
 boolean<br>
 bayt<br>
 char<br>
 ikiqat<br>
 final<br>
 sal<br>
 getmək<br>
 int<br>
 uzun<br>
 doğma<br>
 qısa<br>
 sinxronizasiya olunur<br>
 atır<br>
 keçici<br>
 uçucu<br>
 Bundan əlavə, null, əsl və yalnış hərflər ECMAScript-də identifikator kimi istifadə edilə bilməz.</p>

<p>Ehtiyat söz istifadəsi<br>
 Qorunan sözlər əslində yalnız identifikatorlara aiddir (identifikator adları). Es5.github.com/#A.1-də təsvir olunduğu kimi, bunlar hamısı ReserveWords-ı istisna etməyən identifikator adlarıdır.</p>

<p>a.import<br>
 a ['idxal']<br>
 a = {idxal: 'test'}.<br>
 Digər tərəfdən aşağıdakılar qanunsuzdur, çünki qorunan sözlər olmadan bir identifikator adıdır. Eyniləşdiricilər FunctionDeclaration, FunctionExpression, Dəyişən Deklarasiya və s. Üçün istifadə olunur. Identifikator adları MemberExpression, CallExpression və s. Üçün istifadə olunur.</p>

<p>funksiya import () {} // qeyri-qanuni.<br>
 Xüsusi mənaları olan identifikatorlar<br>
 Bəzi identifikatorların heç bir növ açar sözlər olmadan bəzi məzmunlarda xüsusi bir mənası var. Bunlara daxildir:</p>

<p>bu sintaksis ECMAScript 2015-də yenidir, brauzer uyğunluğu cədvəlinə baxın. 0o-dan sonrakı rəqəmlər (01234567) aralığın xaricindədirsə, aşağıdakı {{jsxref ("SyntaxError")}} atılır: "0o-dan sonra itmiş səkkizbucaqlı rəqəmlər".</p>

<p>var n = 0O755; // 493<br>
 var m = 0o644; // 420</p>

<p>// Yalnız bir aparıcı sıfır ilə mümkündür (yuxarıdakı onluğa dair qeydə baxın)<br>
 0755<br>
 0644<br>
 Altıbucaqlıdır<br>
 Hexadecimal nömrə sintaksisində kiçik və ya böyük hərfli Latın "X" (0x və ya 0X) hərfinin ardınca aparıcı sıfır istifadə olunur. 0x-dən sonra rəqəmlər aralığın xaricindədirsə (0123456789ABCDEF), aşağıdakı {{jsxref ("SyntaxError")}} atılır: "Identifikator rəqəmli hərfdən dərhal sonra başlayır".</p>

<p>0xFFFFFFFFFFFFFFFFF // 295147905179352830000<br>
 0x123456789ABCDEF // 81985529216486900<br>
 0XA // 10<br>
 BigInt hərfi<br>
 {{Jsxref ("BigInt")}} növü JavaScript-də ixtiyari dəqiqliklə tam ədədləri təmsil edə bilən ədədi ibtidai. BigInt hərfləri tam ədədin sonuna n əlavə etməklə yaradılır.</p>

<p>123456789123456789n // 123456789123456789<br>
 0o777777777777n // 68719476735<br>
 0x123456789ABCDEFn // 81985529216486895<br>
 0b11101001010101010101n // 955733<br>
 Qeyd edək ki, yalnız bir lider sıfır olan köhnə səkkizbucaqlı rəqəmlər BigInt üçün işləməyəcək:</p>

<p>// 0755n<br>
 // SyntaxError: etibarsız BigInt sintaksisi<br>
 Səkkizbucaqlı BigInt nömrələri üçün hər zaman sıfırdan sonra "o" hərfi ilə (böyük və ya kiçik hərf) istifadə edin:</p>

<p>0o755n<br>
 BigInt haqqında daha çox məlumat üçün JavaScript məlumat strukturlarına da baxın.</p>

<p>Sayısal ayırıcılar<br>
 Rəqəmsal hərflərin oxunuşunu yaxşılaşdırmaq üçün alt nöqtələrdən (_, U + 005F) ayırıcı kimi istifadə edilə bilər</p>

<p>// onluq sayda ayırıcılar<br>
 1_000_000_000_000<br>
 1_050.95</p>

<p>// ikili nömrələrdə ayırıcılar<br>
 0b1010_0001_1000_0101</p>

<p>// səkkizbucaqlı ədədlərdə ayrıcılar<br>
 0o2_2_5_6</p>

<p>// hex ədədlərindəki ayırıcılar<br>
 0xA0_B0_C0</p>

<p>// BigInts-də ayırıcılar<br>
 1_000_000_000_000_000_000_000n<br>
 Bu məhdudiyyətlərə diqqət yetirin:</p>

<p>// Bir dəfədən çox alt qeyd etməyə icazə verilmir<br>
 100__000; // Söz düzümü səhvi</p>

<p>// Rəqəmsal hərflərin sonunda icazə verilmir<br>
 100_; // Söz düzümü səhvi</p>

<p>// 0-dan sonra istifadə edilə bilməz<br>
 0_1; // Söz düzümü səhvi<br>
 Obyekt hərfləri<br>
 Əlavə məlumat üçün {{jsxref ("Obyekt")}} və Obyekt başlatıcısına da baxın.</p>

<p>var o = {a: 'foo', b: 'bar', c: 42};</p>

<p>// stenoqram notation. ES2015-də yenidir<br>
 var a = 'foo', b = 'bar', c = 42;<br>
 var o = {a, b, c};</p>

<p>// əvəzinə<br>
 var o = {a: a, b: b, c: c};<br>
 Sıra hərfləri<br>
 Əlavə məlumat üçün {{jsxref ("Array")}} da baxın.</p>

<p>[1954, 1974, 1990, 2014]<br>
 Simli hərflər<br>
 Sətir hərfi sıfır və ya daha çox və ya ikiqat tirnoqla əlavə olunmuş Unicode kod nöqtələridir. Unicode kod nöqtələri də bir qaçış ardıcıllığı ilə təmsil oluna bilər. Bütün bağ nöqtələri sözün həqiqi kod nöqtələri istisna olmaqla hərfi mənada bir simli olaraq görünə bilər:</p>

<p>U + 005C \ (arxa cığır),<br>
 U + 000D &lt;CR&gt;,<br>
 və U + 000A &lt;LF&gt;.<br>
 Bütün JSON mətnini etibarlı ECMA-262, U + 2028 &lt;LS&gt; və U + 2029 &lt;PS&gt; etiketli etmək təklifindən əvvəl də simli hərflərdə görünməməsi qadağan edildi.</p>

<p>Hər hansı bir kod nöqtəsi qaçış ardıcıllığı şəklində görünə bilər. String hərfləri ECMAScript String dəyərlərini qiymətləndirir. Bu Sətir dəyərlərini yaradan zaman Unicode kod nöqtələri UTF-16 kodlanır.</p>

<p>'foo'<br>
 "bar"<br>
 Hexadecimal escape ardıcıllığı<br>
 Hexadecimal escape ardıcıllığı, 0x0000 ilə 0x00FF aralığında bir kod vahidi və ya kod nöqtəsini təmsil edən iki iki altıbucaqlı rəqəmin ardınca \ x ibarətdir.</p>

<p>'\ xA9' // "©"<br>
 Unicode qaçış ardıcıllığı<br>
 Unicode qaçış ardıcıllığı tam olaraq dörd altıbucaqlı rəqəmlərdən ibarətdir \ u. UTF-16 kodlaşdırmada bir kod vahidini təmsil edir. U + 0000 ilə U + FFFF kod nöqtələri üçün kod vahidi kod nöqtəsinə bərabərdir. U + 10000 ilə U + 10FFFF kod nöqtələri, xarakteri kodlamaq üçün istifadə olunan iki kod vahidini (bir surroqat cütü) təmsil edən iki qaçış ardıcıllığını tələb edir; surroqat cütlüyü kod nöqtəsindən fərqlidir.</p>

<p>Buna da baxın: {{jsxref ("String.fromCharCode ()")}}{{jsxref ("String.prototype.charCodeAt ()")}}.</p>

<p>'\ u00A9' // "©" (U + A9)<br>
 Unicode kod nöqtəsi qaçır<br>
 Unicode kod nöqtəsindən qaçış \ u {, ardından altıbucaqlı bazada kod nöqtəsi, ardınca} daxil edilir. Altıbucaqlı rəqəmlərin dəyəri 0 ilə 0x10FFFF arasında olmalıdır. U + 10000 ilə U + 10FFFF arasındakı kod nöqtələrinin surroqat cütü kimi göstərilməsinə ehtiyac yoxdur. Kod nöqtələrinin qaçışları ECMAScript 2015 (ES6) -də JavaScript-ə əlavə edildi.</p>

<p>Buna da baxın: {{jsxref ("String.fromCodePoint ()")}}{{jsxref ("String.prototype.codePointAt ()")}}.</p>

<p>'\ u {2F804}' // CJK uyğunluğu İDEOĞRAF-2F804 (U + 2F804)</p>

<p>// eyni xarakterli bir surroqat cütü olaraq təmsil olunur<br>
 '\ uD87E \ uDC04'<br>
 Daimi ifadə hərfi<br>
 Əlavə məlumat üçün {{jsxref ("RegExp")}} də baxın.</p>

<p>/ ab + c / g</p>

<p>// Bir "boş" müntəzəm ifadə<br>
 // Boş tutmayan qrup lazımdır<br>
 // tək sətirli şərhlərlə qeyri-müəyyənliyə yol verməmək.<br>
 / (?:) /<br>
 Şablon hərfləri<br>
 Daha çox məlumat üçün şablon iplərinə baxın.</p>

<p>`simli mətn`</p>

<p>`simli mətn xətti 1<br>
  simli mətn xətti 2`</p>

<p>`string mətni $ {ifadə} simli mətn '</p>

<p>etiketli "string mətni $ {ifadə} string mətni"<br>
 Avtomatik nöqtəli vergül<br>
 Bəzi JavaScript ifadələri nöqtəli vergul ilə dayandırılmalı və buna görə də</p>

<p>avtomatik nöqtəli vergül daxil edilməsindən təsirləndi (ASI):</p>

<p>Boş bəyanat<br>
 qoy, const, dəyişən bir ifadə<br>
 idxal, ixrac, modul bəyannaməsi<br>
 İfadə ifadəsi<br>
 debugger<br>
 davam etmək, qırmaq, atmaq<br>
 qayıtmaq<br>
 ECMAScript spesifikasiyası nöqtəli vergül daxil edilməsinin üç qaydasını xatırladır.</p>

<p>1. Bir xətt terminatoru və ya "}" ilə qarşılaşdıqda, qrammatika tərəfindən icazə verilməyən nöqtələrə vergül qoyulur.</p>

<p>{1 2} 3</p>

<p>// ASI tərəfindən çevrilir</p>

<p>{1 2;} 3;<br>
 2. Ayələr giriş axınının sonu aşkar edildikdə və analizator bir giriş axını tam bir proqram olaraq təhlil edə bilmədikdə son nöqtəyə nöqtə qoyulur.</p>

<p>Burada ++ dəyişən b tətbiq olunan bir postfiks operatoru kimi qəbul edilmir, çünki b və ++ arasında bir xətt terminatoru meydana gəlir.</p>

<p>a = b<br>
 ++ c</p>

<p>// ASI tərəfindən dəyişdirilir</p>

<p>a = b;<br>
 ++ c;<br>
 3. Sonunda nöqtə vergül qoyulur, qrammatikada məhdud məhsullar olan bir söz bir xətt terminatoru izlədikdə. "Burada LineTerminator yoxdur" qaydaları olan bu ifadələr:</p>

<p>Postfiks İfadə (++ və -)<br>
 davam edin<br>
 fasilə<br>
 qayıtmaq<br>
 gəlir, gəlir *<br>
 modul<br>
 qayıtmaq<br>
 a + b</p>

<p>// ASI tərəfindən çevrilir</p>

<p>qayıtmaq;<br>
 a + b;<br>
 Texniki şərtlər<br>
 Xüsusiyyət<br>
 {{SpecName ('ESDraft', '# sec-ecmascript-language-leksik-qrammatika', 'Leksik qrammatika')}}<br>
 Brauzer uyğunluğu<br>
 Bu səhifədəki uyğunluq cədvəli strukturlaşdırılmış məlumatlardan hazırlanmışdır. Verilənlərə töhfə vermək istəyirsinizsə, lütfən https://github.com/mdn/browser-compat-data-ya baxın və bizə bir sorğu göndərin.<br>
 {{Compat ("javascript.grammar")}}</p>

<p>İcra Tərəqqi<br>
 Aşağıdakı cədvəl bu xüsusiyyət üçün gündəlik tətbiq statusunu təmin edir, çünki bu xüsusiyyət hələ brauzer sabitliyinə çatmamışdır. Verilənlər, Gecə qurulması və ya hər brauzerin JavaScript mühərrikinin son buraxılışı olan Test262, JavaScript standart test paketi ilə əlaqəli xüsusiyyət testlərini aparmaqla yaradılır.</p>

<p>{{EmbedTest262ReportResultsTable ("hashbang")}}<br>
 Həmçinin bax<br>
 Jeff Walden: İkili və səkkizbucaqlı ədədlər<br>
 Mathias Bynens: JavaScript xarakter qaçış ardıcıllığı<br>
 {{jsxref ("Boolean")}}<br>
 {{jsxref ("Sayı")}}<br>
 {{jsxref ("RegExp")}}<br>
 {{jsxref ("Sətir")}}</p>

<ul>
</ul>