2011-10-01 16 views
16

gjslint का उपयोग करते समय, मुझे एक संकेत मिला: "एकल-उद्धृत स्ट्रिंग डबल-उद्धृत स्ट्रिंग पर पसंदीदा"।क्यों "सिंगल-उद्धृत स्ट्रिंग डबल-उद्धृत स्ट्रिंग पर पसंदीदा है।" जेएस में?

तो क्यों? मैं इसके साथ थोड़ा उलझन में हूँ। सिंगल-उद्धृत क्यों पसंद किया जाता है?

कुछ मदद पाने की उम्मीद है। सबको शुक्रीया।

+0

अच्छी तरह से, उदाहरण के लिए, [JSLint] (http://www.jslint.com/) एकल कोट स्ट्रिंग पर डबल कोट स्ट्रिंग पसंद करता है। –

उत्तर

20

यह सिर्फ किसी की राय है।

बहुत से लोग गायन-उद्धरण पसंद करते हैं, लेकिन कई अन्य लोग डबल-कोट्स पसंद करते हैं। मैं सिर्फ अन्य भाषाओं से आदत से दोहरे उद्धरणों का उपयोग करता हूं, लेकिन मेरे पास मजबूत वरीयता नहीं है: अगर मैं एक आकर्षक कारण सुनता हूं तो सिंगल कोट्स बेहतर क्यों हैं, लेकिन आज तक मैं बदलना चाहता हूं। मैंने अच्छा कारण भी नहीं सुना है, अकेले को कारण आकर्षक बना दें।

भी Google JavaScript Style Guide का कहना है कि एकल उद्धरण एक अच्छा कारण दिए बिना पसंद किया जाता है:

"() स्थिरता एकल कोट्स (') के लिए डबल उद्धरण के लिए पसंद किया जाता है"। यह जब तार कि HTML में शामिल हैं "

(यह तो एक स्ट्रिंग है कि एचटीएमएल शामिल नहीं है की एक बहुत ही कम उदाहरण देने के लिए चला जाता है।)

लोगों का एक बहुत लगता बनाने उपयोगी है मान लें कि एक्सएचटीएमएल केवल डबल-कोट्स के साथ मान्य है, लेकिन यह सच नहीं है: एक्सएचटीएमएल स्पेक या तो अनुमति देता है। (यह कहकर, एक्सएमटीएम, समेत एक्सएमएल का 98% भाग चला गया है, डबल-कोट्स का उपयोग करता है।)

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

अद्यतन: बस याद किया गया कि JSON केवल डबल-कोट्स के साथ मान्य है। स्पष्ट रूप से JSON जावास्क्रिप्ट नहीं है, लेकिन फिर भी यही कारण है कि (ए) कुछ लोग अपनी जावास्क्रिप्ट में डबल-कोट्स पसंद कर सकते हैं ताकि ऑब्जेक्ट अक्षर जेएसओएन की तरह दिख सकें, और (बी) कुछ एकल-कोट्स पसंद कर सकते हैं ताकि वे बिना JSON मैन्युअल रूप से एन्कोड कर सकें डबल कोट्स से बचने के लिए। (नहीं, मैं JSON मैन्युअल रूप से एन्कोडिंग की अनुशंसा नहीं करता हूं, लेकिन मैंने इसे देखा है।)

+2

यह ठीक है जब तक कि आप कुछ जोकर में भाग नहीं लेते हैं, जिन्होंने एक्सएचटीएमएल को रेगेक्सप्स के साथ पार्स करने का निर्णय लिया है ... –

+1

@ डोनल - हा! खैर, ऐसे व्यक्ति के पास किस प्रकार के उद्धरणों का उपयोग करना है, उससे अधिक समस्याएं हैं I – nnnnnn

+0

ऐसे लोगों के लिए एक प्रसिद्ध एसओ उत्तर है ... –

16

यदि आप सिंगल कोट्स का उपयोग करते हैं, तो आपको अपने एचटीएमएल में डबल कोट्स से बचने की ज़रूरत नहीं है।

उदाहरण के लिए ...

एकल उद्धरण के साथ आप तो

var a = "<a href=\"something.html\" rel=\"yes\" title=\"whatever\">a link/a>";

की तरह इस

var a = '<a href="something.html" rel="yes" title="whatever">a link/a>';

दोहरे उद्धरण चिह्नों आप दोहरे उद्धरण चिह्नों के अंदर उन से बचने के लिए की आवश्यकता होगी, साथ

कर सकते हैं

अधिक काम, बनाए रखने के लिए और अधिक कठिन, और त्रुटियों को आसान बनाना।

+21

मैं केवल HTML विशेषताओं के लिए एकल उद्धरण का उपयोग कर सकता हूं। – BoltClock

+1

सच @ बोल्टक्लॉक। हालांकि मुझे लगता है कि एचटीएमएल में अधिकांश लोग डीबीएल उद्धरण का उपयोग करते हैं। –

+2

यह आपके आसपास के अन्य तरीकों से भी काम करता है, जब आपके पास HTML में विशेषताओं के अंदर जावास्क्रिप्ट स्ट्रिंग्स (टेम्पलेटिंग इंजन के साथ एक आम अवसर) का उपयोग होता है – hugomg

1

मेरे कीबोर्ड में '/' कुंजी है इसलिए मैं आसानी से एक उद्धरण टाइप कर सकता हूं लेकिन डबल कोट के लिए Shift दबाएं ।:)

जेएसलिंट चेतावनियों के लिए यह एक और संगत कोडिंग शैली को बढ़ावा देने के लिए एक मनमाना मानक लागू करने की कोशिश कर रहा है, जैसे कि यह अन्य अंतर और इंडेंटेशन मुद्दों पर कैसे करता है।

1

प्रदर्शन के संदर्भ में, http://jsperf.com के अनुसार आपको कुछ ब्राउज़रों में लगभग समान प्रदर्शन मिलता है, अन्य में आप एक ही प्रदर्शन प्राप्त करते हैं।

वहाँ jsperf में परीक्षण की एक बहुत कुछ है और उन सभी लगभग एक ही परिणाम प्राप्त:

अंत में मुझे लगता है कि सिंगल या डबल कोट्स का उपयोग करना सिर्फ एक मामला है स्वाद और प्रदर्शन की बात नहीं है।

सम्मान।

संबंधित मुद्दे