ईसीएमएसक्रिप्ट एकल ऑपरेटर
- पिछला पृष्ठ ईसीएमएसक्रिप्ट रेफरेंस टाइप
- अगला पृष्ठ विस्तृत ऑपरेटर
एकांश ऑपरेटर केवल एक पारामीटर होता है, जो कि ऑपरेशन करने वाला आब्जैक्ट या मान है। वे ECMAScript में सबसे सरल ऑपरेटर हैं।
delete
delete ऑपरेटर पूर्व परिभाषित आब्जैक्ट के रूप से या मेथड के संदर्भ को मिटाता है। उदाहरण में:
var o = new Object; o.name = "David"; alert(o.name); // आउटपुट "David" delete o.name; alert(o.name); //输出 "undefined"
alert(o.name); //आउटपुट "undefined"
इस उदाहरण में, name गुण को हटाया गया है, जिसका अर्थ है कि इसके लिए बाध्य रूप से संदर्भ अनुच्छेदन किया गया है, इसे undefined (अर्थात निर्दिष्ट निर्धारित परिमाण) के रूप में सेट किया गया है。
delete ऑपरेटर डेवलपर द्वारा अनियोग्य परिणाम को हटाने के लिए नहीं काम करता। उदाहरण के लिए, नीचे दिए कोड गलती पैदा करेगा:
delete o.toString;
यहाँ तोड़ना भी आरंभ हो गया है, क्योंकि toString() एक वैध विधि नाम है, लेकिन toString() विधि आधिकारिक ECMAScript विधि है, नहीं कि डेवलपर द्वारा परिभाषित
void
वायू ऑपरेटर को किसी भी मूल्य के लिए undefined वापस करता है। यह ऑपरेटर आमतौर पर ऐसी स्थितियों में उपयोग किया जाता है जहां असंबंधित मूल्य नहीं उत्पन्न करना हो, उदाहरण के लिए, HTML के <a> एलीमेंट से JavaScript फ़ंक्शन को बुलाते समय। इसे सही तरीके से करने के लिए, फ़ंक्शन वैध मूल्य वापस नहीं करना चाहिए, अन्यथा ब्राउज़र पृष्ठ को खाली कर देगा और केवल फ़ंक्शन का परिणाम दिखाएगा। उदाहरण के लिए:
<a href="javascript:window.open('about:blank')">क्लिक मुझे</a>यदि आप इस कोड को HTML पृष्ठ में डालें, तो लिंक पर क्लिक करने पर "[object]" दिखाया जाएगा。
TIY
यह विंडो.ओपन() विधि नए खुले विंडो का संदर्भ वापस करती है। फिर उस ऑब्जैक्ट को दिखाने के लिए बदला जाता है।
इस प्रभाव को बचाने के लिए, वायू ऑपरेटर के साथ window.open() फ़ंक्शन को बुलाया जा सकता है:
<a href="javascript:void(window.open('about:blank'))">क्लिक मुझे</a>
यह विंडो.ओपन() कॉल को undefined वापस करता है, जो एक वैध मूल्य नहीं है, यह ब्राउज़र विंडो में दिखाया नहीं जातासूचना:
याद रखें, कोई वापसी वाली फ़ंक्शन वास्तव में undefined वापस करती है
प्रीइनक्रीमेंट/प्रीडक्षा ऑपरेटर
C (और Java) से प्रभावित दो ऑपरेटर हैं, प्रीइनक्रीमेंट और प्रीडक्षा ऑपरेटर
var iNum = 10; जो प्रीइनक्रीमेंट ऑपरेटर कहा जाता है, यह नम्बर को 1 बढ़ाता है, जो निम्नलिखित रूप में प्रस्तुत होता है:++
दूसरी पंक्ति में iNum को 11 तक बढ़ाया, जो वास्तव में इसी तरह का है:++iNum;
var iNum = 10; iNum = iNum + 1;
इसी तरह, प्रीडक्षा ऑपरेटर एक नम्बर से 1 कम करता है, जो निम्नलिखित रूप में प्रस्तुत होता है:--
var iNum = 10; --iNum;
इस उदाहरण में, दूसरी पंक्ति में कोड ने iNum की वाल्यू 9 तक कम कर दी।
प्रीफिक्स ऑपरेटर का उपयोग करते समय, ध्यान दें कि बढ़ाना और कम करना ऑपरेटर गणना एक्सप्रेशन से पहले होते हैं। नीचे दिए उदाहरण को देखें:
var iNum = 10; --iNum; alert(iNum); // आउटपुट "9" alert(--iNum); // आउटपुट "8" alert(iNum); // आउटपुट "8"
दूसरे पद में iNum पर कमीशन संचारक का उपयोग किया गया है, तीसरे पद में परिणाम दिखाया गया है ("9"). चौथे पद में फिर से iNum पर कमीशन संचारक का उपयोग किया गया है, लेकिन इस बार पूर्वकमीशन संचारक और आउटपुट ऑपरेशन को एक ही वाक्य में दिखाया गया है, परिणाम "8" है. सभी कमीशन संचारक को प्रमाणित करने के लिए, पांचवें पद में फिर से "8" आउटपुट किया गया.
गणितीय अभिव्यक्ति में, पूर्वस्थानीय बढ़ावट और पूर्वकमीशन संचारकों की प्राथमिकता एक-सी है, इसलिए वे बाईं से दाईं तक की क्रमिक गणना के अनुसार गणना करने हैं. उदाहरण के लिए:
var iNum1 = 2; var iNum2 = 20; var iNum3 = --iNum1 + ++iNum2; // समान है "22" var iNum4 = iNum1 + iNum2; // समान है "22"
पिछले कोड में, iNum3 22 है, क्योंकि गणना करना है 1 + 21. वेरियेबल iNum4 भी 22 है, 1 + 21 है.
अंतिम बढ़ावट/अंतिम कमीशन संचारक
इसके अलावा, दो सी (और जावा) से उधारित संचारक हैं, अंतिम बढ़ावट संचारक और अंतिम कमीशन संचारक.
अंतिम बढ़ावट संचारक भी संख्या पर 1 जोड़ता है, जो वाक्यांश के बाद दो जोड़हर्ष के रूप में होता है (++):
var iNum = 10; iNum++;
अपेक्षाकृत, अंतिम कमीशन संचारक भी संख्या से 1 कम करता है, जो वाक्यांश के बाद दो खंडहर्ष के रूप में होता है (--):
var iNum = 10; iNum--;
दूसरे पद में iNum का मूल्य 9 कर दिया गया.
पूर्वस्थानीय संचारक के अलावा, अंतिम स्थानीय संचारक गणना के बाद ही बढ़ावट या कमीशन संचारक का काम करते हैं. नीचे का उदाहरण देखें:
var iNum = 10; iNum--; alert(iNum); // आउटपुट "9" alert(iNum--); // आउटपुट "9" alert(iNum); // आउटपुट "8"
सीधे अग्रण संचारक के उदाहरणों के समान, दूसरे पद को iNum पर कमीशन संचारक का उपयोग किया गया है, तीसरे पद में परिणाम दिखाया गया है ("9"). चौथे पद में iNum का मूल्य दिखाया गया है, लेकिन इस बार एक ही वाक्य में कमीशन संचारक का उपयोग किया गया है. कमीशन संचारक गणना के बाद होता है, इसलिए इस वाक्य में दिखाया गया संख्या "9" है. पांचवें पद को चलाने के बाद, alert फ़ंक्शन में "8" दिखाया गया है, क्योंकि चौथे पद को चलाने के बाद और पांचवें पद को चलाने से पहले, अंतिम कमीशन किया गया है.
गणितीय अभिव्यक्ति में,अंतिम बढ़ावट और अंतिम कमीशन ऑपरेटरों की प्राथमिकता एक-सी है, इसलिए वे बाईं से दाईं तक की क्रमिक गणना के अनुसार गणना करने हैं. उदाहरण के लिए:
var iNum1 = 2; var iNum2 = 20; var iNum3 = iNum1-- + iNum2++; // समान है "22" var iNum4 = iNum1 + iNum2; // समान है "22"
पिछले कोड में, iNum3 22 है, क्योंकि इसके लिए जोड़ने और घटाने के ऑपरेटर को iNum3 को आसानी से जोड़ना है।वेरियेबल iNum4 भी 22 है, लेकिन यह 1 + 21 को जोड़ता है, क्योंकि जोड़ने और घटाने के ऑपरेटर iNum3 को आसानी से जोड़ने के बाद ही चलाया गया है।
एकमूल जोड़ने और एकमूल घटाने
अधिकांश लोग एकमूल जोड़ने और एकमूल घटाने का ऑपरेटर को जानते हैं, वे ECMAScript में इसके उपयोग के तरीके से हाई स्कूल की गणित में सीखे जाने वाले तरीके से समान हैं。
एकमूल जोड़ने का ऑपरेटर की वास्तविकता अंक पर कोई असर नहीं करता:
var iNum = 20; iNum = +iNum; alert(iNum); //आउटपुट "20"
इस कोड से 20 संख्या पर एकमूल जोड़ने का ऑपरेटर लगाया गया है, आउटपुट वापस 20 है。
एकमूल जोड़ने का ऑपरेटर अंक के लिए कोई असर नहीं करता, लेकिन शब्द के लिए रोचक प्रभाव पैदा करता है, इसको संख्या में बदलता है।
var sNum = "20"; alert(typeof sNum); //आउटपुट "string" var iNum = +sNum; alert(typeof iNum); //आउटपुट "number"
इस कोड से "20" शब्द को वास्तविक संख्या में बदला गया है।एकमूल जोड़ने का ऑपरेटर शब्द को जोड़ने के ऑपरेटर के समान जोड़ता है, मुख्य अंतर यह है कि केवल "0x" से शुरू होने वाले शब्द (हेक्साडेसिमल संख्या के रूप में प्रदर्शित) को एकमूल ऑपरेटर दसमांक में बदल सकता है।इसलिए, "010" को एकमूल ऑपरेटर से 10 में बदला जाता है, लेकिन "0xB" को 11 में बदला जाता है。
दूसरी ओर, एकमूल घटाने का ऑपरेटर वास्तविक संख्या को नकारात्मक करना है (उदाहरण के लिए 20 को -20 में बदलना):
var iNum = 20; iNum = -iNum; alert(iNum); //आउटपुट "-20"
एकमूल जोड़ने के ऑपरेटर के समान, एकमूल घटाने का ऑपरेटर भी शब्द "20" को लगभग की संख्या में बदल देगा, इसके अलावा इस मान को नकारात्मक करेगा।उदाहरण के लिए:
var sNum = "20"; alert(typeof sNum); //आउटपुट "string" var iNum = -sNum; alert(iNum); //आउटपुट "-20" alert(typeof iNum); //आउटपुट "number"
उपरोक्त कोड में, एकमूल घटाने का ऑपरेटर "-20" को -20 में बदल देगा (एकमूल घटाने का ऑपरेटर दसमांक और हेक्साडेसिमल के लिए एकमूल जोड़ने के ऑपरेटर के समान व्यवहार करता है, लेकिन यह इस मान को नकारात्मक करता है)。
- पिछला पृष्ठ ईसीएमएसक्रिप्ट रेफरेंस टाइप
- अगला पृष्ठ विस्तृत ऑपरेटर