Menjawab. Kata-kata yang dicadangkan dari bahasa JavaScript tercantum di bawah ini. (Beberapa dari kata-kata ini sebenarnya digunakan dalam bahasa Java, dan dicadangkan dalam JavaScript untuk tujuan kompatibilitas atau sebagai ekstensi yang memungkinkan. ) Saat memilih nama untuk variabel JavaScript Anda, hindari kata-kata yang direvisi ini
Selain kata-kata yang dicadangkan di atas, Anda sebaiknya menghindari pengidentifikasi berikut sebagai nama variabel JavaScript. Ini adalah nama yang telah ditentukan sebelumnya dari objek, metode, atau properti JavaScript yang bergantung pada implementasi (dan, bisa dibilang, beberapa seharusnya kata-kata yang dicadangkan)
Demikian pula, nama-nama berikut (tergantung pada browser target Anda) mungkin memiliki arti khusus sebagai penangan acara, dan karenanya tidak boleh digunakan untuk tujuan lain apa pun
JavaScript. Kata-kata yang Dicadangkan
Meningkatkan Artikel
Simpan Artikel
Seperti Artikel
- Tingkat Kesulitan. Sedang
- Terakhir Diperbarui. 27 Mar, 2019
Meningkatkan Artikel
Simpan Artikel
Dalam JavaScript Anda tidak dapat menggunakan kata-kata yang dicadangkan ini sebagai nama variabel, nama label, atau nama fungsi
Kata-kata yang Dicadangkan
abstractargumentsbooleanbreakbytecasecatchcharconstcontinuedebuggerdefaultdeletedodoubleelseevalfalsefinalfinallyfloatforfunctiongotoifimplementsininstanceofintinterfacelongnativenewnullpackageprivateprotectedpublicreturnshortstaticswitchsynchronizedthisthrowthrowstransienttruetrytypeofvarvoidvolatilewhilewithyieldKata-kata yang Dicadangkan ditambahkan dalam ECMAScript 5 dan 6
awaitsclassenumexporttextendsportletletsuperKata-kata Cadangan Dihapus
Kata-kata khusus berikut telah dihapus dari ECMAScript 5 dan 6
abstractbooleanbytechardoublefinalfloatgotointlongnativeshortsynchronizedthrowstransientvolatileCatatan Pribadi Saya arrow_drop_up
Menyimpan
Silakan Login untuk berkomentar.
Mencari daftar semua kata yang dicadangkan dalam JavaScript? . Saya sendiri baru-baru ini membutuhkan daftar seperti itu, tetapi akhirnya membandingkan kata kunci yang dipesan di semua versi ECMAScript juga. Hasilnya tercantum di bawah ini, untuk referensi di masa mendatang
Skrip ECMA 1
Awalnya, ada ECMAScript 1. Itu mencantumkan kata-kata khusus berikut
doif
in
for
new
try
var
case
else
enum
null
this
true
void
with
break
catch
class
const
false
super
throw
while
delete
export
import
return
switch
typeof
default
extends
finally
continue
debugger
function
Skrip ECMA 2
Later, ECMAScript 2 added int, byte, char, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized0, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized1, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized2, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized3, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized4, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized5, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized6, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized7, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized8, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized9, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof0, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof1, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof2, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof3, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof4, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof5, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof6, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof7, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof8, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof9
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized_
Skrip ECMA 3
ECMAScript 3 tidak memperkenalkan perubahan dalam daftar kata kunci yang dipesan — ini identik dengan kata kunci ECMAScript 2
Skrip ECMA 4
Tidak ada yang namanya ECMAScript 4
Skrip ECMA 5
ECMASCript 5/5. 1 dihapus int, byte, char, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized1, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized___, ____________11111111111111111111111111111111111111111111
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof
Perhatikan bahwa do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof8, var a = !!'bool'; // true7, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof2, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized7, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof5, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof1, do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof6, do
if
in
for
int
new
try
var
byte
case
char
else
enum
goto
long
null
this
true
void
with
break
catch
class
const
false
final
float
short
super
throw
while
delete
double
export
import
native
public
return
static
switch
throws
typeof
boolean
default
extends
finally
package
private
abstract
continue
debugger
function
volatile
interface
protected
transient
implements
instanceof
synchronized8, dan var a = !!'bool'; // true8 tidak diizinkan hanya dalam mode ketat
Anda mungkin memperhatikan bahwa saya menyertakan var a = boolean('bool'); // error_8 dan var a = boolean('bool'); // error9 dalam daftar. Ini bukan kata-kata yang dicadangkan secara ketat, tapi pasti — kata-kata itu juga tidak diizinkan dalam mode ketat
Selain itu, properti var a = Boolean(someValue); // `a` is now `true` or `false`0, var a = Boolean(someValue); // `a` is now `true` or `false`1, dan var a = Boolean(someValue); // `a` is now `true` or `false`2 (tidak terdaftar) dari objek global adalah properti yang tidak dapat diubah atau hanya dapat dibaca di ES5. Jadi meskipun var a = Boolean(someValue); // `a` is now `true` or `false`_3 dalam lingkup global tidak akan menimbulkan kesalahan, itu tidak akan benar-benar melakukan apa pun. Untuk menghindari kebingungan, saya sarankan untuk menghindari penggunaan pengidentifikasi ini sama sekali, meskipun itu bukan kata-kata yang dilindungi undang-undang
Skrip ECMA 2015 (ES6)
Draf ECMAScript 2015 (ES6) terbaru menambahkan var a = Boolean(someValue); // `a` is now `true` or `false`4 sebagai kata cadangan di masa mendatang dalam modul. var a = !!'bool'; // true7 dan var a = !!'bool'; // true8 sekarang tidak diizinkan bahkan dalam kode mode non-ketat. Di var a = !!'bool'; // true_8 diberikan semantik pengidentifikasi
doif
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
await
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof
Apa gunanya?
Kata kunci yang dicadangkan tidak boleh digunakan sebagai nama variabel dalam JavaScript. Untuk kompatibilitas mundur yang optimal dengan mesin JavaScript lama, sebaiknya hindari penggunaan kata kunci di halaman ini sebagai nama variabel atau nama properti — bahkan ECMAScript 2 lama seperti char dan var a = Boolean(someValue); // `a` is now `true` or `false`9
Tentang saya
Hai, yang di sana. Saya Mathias. Saya bekerja di Chrome DevTools dan mesin JavaScript V8 di Google. HTML, CSS, JavaScript, Unicode, performa, dan keamanan membuat saya bersemangat. Ikuti saya di Twitter, Mastodon, dan GitHub
Timmy Willison menulis.
Terima kasih telah menyatukan ini, Mathias
Bastian Behrens menulis.
Terima kasih untuk daftarnya. Akan sangat bagus jika Anda dapat memesannya berdasarkan abjad dan meletakkan daftarnya di GitHub
Mathias terus menulis.
Saya memesannya berdasarkan panjangnya (dan kemudian berdasarkan abjad) karena itulah urutan yang sering saya butuhkan. Lihat e. g. untuk alat validator nama variabel saya, atau
Saya pikir cukup mudah untuk mengurutkan daftar berdasarkan abjad jika itu yang Anda butuhkan — sebagian besar editor bahkan memiliki makro bawaan untuk itu
Bastian Behrens menulis.
Tentu saja mudah. ) Sekarang setelah Anda menyebutkannya, saya melihat bahwa Anda memesannya berdasarkan panjangnya ;-) Tidak tahu tentang alat validator nama Anda — terima kasih untuk itu
Michael Lange menulis.
RickRolled. (
Sejarah yang rapi. Sungguh aneh melihat semua konsep OOPish dan statis yang dicadangkan di ES2–“Java-erScript”
Martin Rinehart menulis.
Sedikit sejarah, sedikit beasiswa, Hal yang Sangat Baik. terima kasih
Sejak Anda menyebutkannya. http. // www. martinrinehart. com/frontend-engineering/engineers/html/html-tag-history. html
maxw3st menulis.
Terima kasih untuk daftar Mathias. Ini akan berguna saat saya terus belajar bahasa
Kenneth Auchenberg menulis.
Gambaran bagus Mathias. Bagaimana dengan mengurutkan daftar berdasarkan abjad, untuk gambaran umum yang lebih baik?
Mathias terus menulis.
Lihat
Edward menulis.
Saya tidak mengerti mengapa do
if
in
for
let
new
try
var
case
else
enum
eval
null
this
true
void
with
break
catch
class
const
false
super
throw
while
yield
delete
export
import
public
return
static
switch
typeof
default
extends
finally
package
private
continue
debugger
function
arguments
interface
protected
implements
instanceof_0 tidak digunakan dalam JavaScript tetapi operator int1 digunakan untuk mengonversi ke boolean