मुझे एहसास हुआ कि मैं उनके बीच कोई समझ नहीं कर रहा हूं कि क्यों, और मुझे खोजना मुश्किल लगता है।जावास्क्रिप्ट में '', और "", और कोई उद्धरण क्या नहीं है?
उत्तर
' '
और " "
वही बात है; वे स्ट्रिंग अक्षर परिभाषित करने के लिए उपयोग किया जाता है।
उद्धरण के बिना चीजें एक पहचानकर्ता, कीवर्ड, गैर-स्ट्रिंग अक्षर, संपत्ति का नाम या एक संख्या हो सकती है (शायद एक चूक गई हो)।
उदाहरण:
"hello world" literal (string)
'hello world' literal (string) with same contents
document identifier (object)
{ a: 1 } property name
if keyword (start conditional statement)
3.4 literal (number)
/abc/ literal (regex object)
स्ट्रिंग शाब्दिक कि एकल उद्धरण बच गए दोहरे उद्धरण चिह्नों और वीजा विपरीत, जैसे की जरूरत नहीं है में बंद होते हैं:
'<a href="">click me</a>' HTML containing double quotes
"It's going to rain" String containing single quote
अंतिम दो वास्तव में पहचानकर्ता नहीं माना जाएगा, क्या वे? मुझे लगता है कि वे पहले दो स्ट्रिंग उदाहरणों की तरह, उनके व्यक्तिगत प्रकार (संख्या और नियमित अभिव्यक्ति) का शाब्दिक वाक्यविन्यास हैं। –
@amnotiam आप एक वैध बिंदु बनाते हैं; मैंने उन्हें शाब्दिक के रूप में पुन: वर्गीकृत किया है :) धन्यवाद! –
आह, हम वहां हैं। +1 उद्धरण के बिना * सामान की श्रेणी के तहत केवल अन्य चीजें (जिसे मैं सोच सकता हूं) * ऑपरेटर और स्टेटमेंट टर्मिनेटर होंगे ... और मुझे लगता है कि अगर आप इसे गिनना चाहते हैं तो व्हाइटस्पेस लगता है। –
"
और '
परस्पर विनिमय कर रहे हैं (लेकिन करने की जरूरत है एक साथ इस्तेमाल किया जाना चाहिए)।
myObject["property"]
और myObject.property
भी विस्थापन योग्य हैं। $var foo = "property"; myObject[foo]
साथ ही (नीचे प्रति टिप्पणी)।
'myObject [property]' को संपत्ति के मूल्य के साथ नामित myObject की संपत्ति मिलती है – pbfy0
' '
और " "
, स्ट्रिंग शाब्दिक उद्धृत करने के लिए इस्तेमाल किया और बोली के बिना स्ट्रिंग (रों) जबकि शाब्दिक प्रतिनिधित्व चर (चर, निरंतर का नाम) पहचानकर्ता के रूप में जानते हैं, उदाहरण के
variable = 'Hello'; (Here `variable` is identifier and 'Hello' is string literal)
var = "Ho There"
आप सवाल कर सकते हैं, क्या है ' (single quote)
और " (Double quote)
अंतर "
के भीतर अंतर है, यदि विशेष चरित्र है तो उन्हें भागने की आवश्यकता है। उदाहरण:
चर = "हाय" वहाँ ", --- यहाँ> आप की तरह
Variable = "hi \" there";
"
स्ट्रिंग के अंदर से बचने के लिए लेकिन अगर उपयोग करते हुए, '
तो बचने का (कोई जरूरत नहीं जब तक कि वहाँ एक की जरूरत है अतिरिक्त '
स्ट्रिंग में)। आप की तरह
var = 'Hello " World"';
एक त्वरित jsfiddle के आसपास है और दोनों सिंगल और डबल उद्धरण से बचने के नियंत्रण कोड आदि hve कर सकते हैं
बाद के दिनों में मुझे HTML से त्रुटियां मिलीं, जहां डबल कोट्स का उपयोग नहीं किया गया है, और यदि आप JSON के लिए spec को देखते हैं तो आप ध्यान दें कि स्ट्रिंग अक्षर को उद्धृत करते समय यह एक डबल कोट है। तो यह दोहरे उद्धरण है जो ऐतिहासिक कारणों से मुझे लगता है कि सम्मेलन है।
हालांकि! सर्वर साइड जेएस लिखने के इन दिनों में मुझे स्वीकार करना होगा कि मुझे अपनी सी जड़ें और डबल कोट पर वापस खींचा जाना है जहां मैं चार्ज और सिंगल कोट स्ट्रिंग से बच निकलना चाहता हूं जो प्रभावी रूप से शाब्दिक वर्ण हैं और कभी भी बचने की संभावना नहीं है (भले ही यह है अनिवार्य रूप से गैर उत्पादक व्यवहार)। इसके अलावा मेरे अधिकांश जेएस आजकल कॉफ़ीस्क्रिप्ट है, किसी ने कभी भी लालित्य के लिए जावास्क्रिप्ट नहीं लिखा है, सीएस हालांकि मछली का एक अलग केतली है।
क्या आप एक विशिष्ट उदाहरण बना सकते हैं? –
स्ट्रिंग्स या तो '' '' या ''' 'का उपयोग कर सकती हैं, इससे कोई फर्क नहीं पड़ता (वह व्यक्ति चुनें जो आपको कम से कम बचने की ज़रूरत है (' "श्री ओ'नील" या "मैंने कहा" हाय " ')। संख्याओं को उद्धृत करने की आवश्यकता नहीं है, उदाहरण के लिए। '12'। –