जावास्क्रिप्ट में आरक्षित कीवर्ड


जवाबों:



1476

यहां मेरी कविता है, जिसमें जावास्क्रिप्ट में सभी आरक्षित कीवर्ड शामिल हैं, और उन लोगों के लिए समर्पित है जो इस क्षण में ईमानदार रहते हैं, और न केवल स्कोर करने की कोशिश करते हैं:

Let this long package float, 
Goto private class if short.
While protected with debugger case,  
Continue volatile interface.
Instanceof super synchronized throw, 
Extends final export throws.  

Try import double enum?  
- False, boolean, abstract function, 
Implements typeof transient break!
Void static, default do,  
Switch int native new. 
Else, delete null public var 
In return for const, true, char
…Finally catch byte.


61

Benc के उत्तर के पूरक के लिए , मानक ECMA-262 देखें । ये आधिकारिक आरक्षित शब्द हैं, लेकिन मानक का सम्मान करने के लिए केवल एक पेडेंट कार्यान्वयन पर ध्यान नहीं देता है। सबसे लोकप्रिय कार्यान्वयन के आरक्षित शब्दों के लिए, जो कि फ़ायरफ़ॉक्स और इंटरनेट एक्सप्लोरर है, बेंस का जवाब देखें।

EMCAScript-262 में आरक्षित शब्द Keyword s, Future सुरक्षित Word s, NullLiteral और BooleanLiteral s हैं, जहाँ कीवर्ड हैं

break     do        instanceof  typeof
case      else      new         var
catch     finally   return      void
continue  for       switch      while
debugger  function  this        with
default   if        throw
delete    in        try

भविष्य सुरक्षित वर्ड रों हैं

abstract  export      interface  static
boolean   extends     long       super
byte      final       native     synchronized
char      float       package    throws
class     goto        private    transient
const     implements  protected  volatile
double    import      public 
enum      int         short

NullLiteral है

null

और बूलियनलिटरल एस हैं

true
false

जोसेफ, उस जानकारी को जोड़ने के लिए धन्यवाद। मुझे वह PDF Google में मिली, लेकिन उसके पास उसे खोलने और पढ़ने का समय नहीं था।
benc

"सार" भविष्य आरक्षित शब्द न तो ES5 कल्पना और न ही ES6 मसौदे में उल्लिखित है। वह कहां से आया है?
व्लादिमीर पेंटेलेव

2
मिल गया! यह ES3 भविष्य में आरक्षित शब्द के रूप में मौजूद था, साथ में दूसरों की एक लंबी सूची भी थी, लेकिन इसे ES5 में हटा दिया गया था।
व्लादिमीर पेंटेलेव

13
यह किस तरह का उत्तर है। यह तुकबंदी भी नहीं करता है।
गजस

1
मैं यहां नहीं देख सकता let, लेकिन मैं इसे दीक्षा
prosti

20

मैं सिर्फ जावास्क्रिप्ट और jQuery में इस बारे में पढ़ रहा था : द मिसिंग मैनुअल :

इन सभी आरक्षित शब्दों के कारण सभी ब्राउज़रों में समस्याएँ नहीं होंगी, लेकिन चरों का नामकरण करते समय इन नामों को स्पष्ट करना सबसे अच्छा है।

जावास्क्रिप्ट कीवर्ड break, case, catch, continue, debugger, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with :।

भविष्य के उपयोग के लिए आरक्षित abstract, boolean, byte, char, class, const, double, enum, export, extends, final, float, goto, implements, import, int, interface, let, long, native, package, private, protected, public, short, static, super, synchronized, throws, transient, volatile, yield :।

ब्राउज़र में पूर्व-परिभाषित वैश्विक चर alert, blur, closed, document, focus, frames, history, innerHeight, innerWidth, length, location, navigator, open, outerHeight, outerWidth, parent, screen, screenX, screenY, statusbar, window :।


एक स्क्रिप्ट में स्थान का उपयोग किया गया और बहुत ही अजीब व्यवहार, बहुत उपयोगी पोस्ट मिला।
alimack

2
"भविष्य के उपयोग के लिए आरक्षित" :: सभी जावा शब्द ... वास्तव में काफी आलसी।
एडी बी

2
ध्यान दें कि "आरक्षित" "प्रारंभिक-आरंभिक" के समान नहीं है। ब्राउज़र में, alertपहले से ही इनिशियलाइज़ किया गया है, लेकिन कुछ भी आपको पुन: असाइन करने से नहीं रोकता है alert = 5। हालाँकि, आप window5 पर सेट नहीं कर सकते , लेकिन आप इसे स्थानीय चर के रूप में उपयोग कर सकते हैं। यही कारण है कि आरक्षित कीवर्ड, भविष्य में उपयोग के साथ संभव नहीं है, null, false, true
रूबेन वेरबाग

yieldमेरे द्वारा त्वरित जांच से छूटे गए अधिक मतदान के जवाबों ने +1 किया। इन्हें ES5.1 में सख्त मोड द्वारा सक्रिय किया जा सकता है:implements interface let package private protected public static yield

5

यह निर्धारित करने के लिए एक ब्राउज़र और भाषा संस्करण अज्ञेयवादी तरीका है कि क्या किसी विशेष स्ट्रिंग को जावास्क्रिप्ट इंजन द्वारा एक कीवर्ड के रूप में माना जाता है। इस उत्तर का श्रेय जो समाधान का मूल प्रदान करता है।

function isReservedKeyword(wordToCheck) {
    var reservedWord = false;
    if (/^[a-z]+$/.test(wordToCheck)) {
        try {
            eval('var ' + wordToCheck + ' = 1');
        } catch (error) {
            reservedWord = true;
        }
    }
    return reservedWord;
}

7
यदि आपको किसी evalभी चीज़ के लिए उपयोग करना है, तो इसका सबसे अधिक मतलब है कि आप इसे गलत कर रहे हैं।
सीनोपाइस 15

8
यह बिल्ड समय पर चलने वाले एक परीक्षण मामले के लिए एकदम सही है, जब तक कि यह कुछ ऐसा नहीं है जो आपने रनटाइम में उजागर किया है।
अब्दुल्ला जिबली

3

वर्तमान उत्तरों में से कोई भी चेतावनी नहीं देता है कि ईएस-बोली की परवाह किए बिना, ब्राउज़रों ने ईएस के निर्देशों के शीर्ष पर आरक्षित खोजशब्दों, विधियों आदि की अपनी सूची दी है।

उदाहरण के लिए, IE9 तरह तार्किक नामों का उपयोग प्रतिबंधित: addFilter,removeFilter (वे, दूसरों के बीच, विधियों आरक्षित हैं)।

IE9 के लिए अधिक विशिष्ट 'वर्तमान में ज्ञात' सूची के लिए http://www.jabcreations.com/blog/internet-explorer-9 देखें । मुझे अभी तक msdn (या कहीं और) पर उनका कोई आधिकारिक संदर्भ नहीं मिला है।


1

यहाँ एलोकेंट जावास्क्रिप्ट पुस्तक से एक सूची है:

  • break
  • case
  • catch
  • class
  • const
  • continue
  • debugger
  • default
  • delete
  • do
  • else
  • enum
  • export
  • extend
  • false
  • finally
  • for
  • function
  • if
  • implements
  • import
  • in
  • instanceof
  • interface
  • let
  • new
  • null
  • package
  • private
  • protected
  • public
  • return
  • static
  • super
  • switch
  • this
  • throw
  • true
  • try
  • typeof
  • var
  • void
  • while
  • with
  • yield

-1

benc का उत्तर उत्कृष्ट है, लेकिन मेरे दो सेंट के लिए, मुझे इस पर w3schools का पेज पसंद है:

http://www.w3schools.com/js/js_reserved.asp

मानक द्वारा आरक्षित खोजशब्दों को सूचीबद्ध करने के अलावा, इसमें उन खोजशब्दों की एक लंबी सूची भी है जिन्हें आपको कुछ संदर्भों से बचना चाहिए ; उदाहरण के लिए, alertकिसी ब्राउज़र में चलाने के लिए कोड लिखते समय नाम का उपयोग नहीं करना । इससे मुझे यह पता लगाने में मदद मिली कि कुछ शब्द मेरे संपादक में कीवर्ड के रूप में क्यों हाइलाइट हो रहे थे, हालांकि मुझे पता था कि वे कीवर्ड नहीं थे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.