जावास्क्रिप्ट ES5
- पिछला पृष्ठ JS संस्करण
- अगला पृष्ठ JS 2015 (ES6)
ईसकोम्प्रेस्ट 5 क्या है?
ECMAScript 5 भी ES5 और ECMAScript 2009 के नाम से जाना जाता है।
इस अध्याय में ES5 की सबसे महत्वपूर्ण विशेषताओं का परिचय दिया जाता है。
ECMAScript 5 विशेषताएं
ये 2009 में जारी की गई नई विशेषताएं हैं:
- "use strict" डिरेक्टिव
- String.trim()
- Array.isArray()
- Array.forEach()
- Array.map()
- Array.filter()
- Array.reduce()
- Array.reduceRight()
- Array.every()
- Array.some()
- Array.indexOf()
- Array.lastIndexOf()
- JSON.parse()
- JSON.stringify()
- Date.now()
- गुण Getter और Setter
- नए ऑब्जैक्ट गुण और विधियाँ
ECMAScript 5 गणितीय बदलाव
- स्ट्रिंग के अभिन्न रूप में रूपरेखा [ ]
- एलिमेंट और ऑब्जेक्ट लिंगुलर में ट्रेलिंग कमा
- बहु-पदांकी स्ट्रिंग लिंगुलर
- रिजर्व की गई वारियेबल नाम
"use strict" डिरेक्टिव
"use strict
" use strict " डिरेक्टिव
उदाहरण के लिए, सख्त मोड का उपयोग करके आप अविश्लेष्य वारियेबल का उपयोग नहीं कर सकते।
आप सभी प्रोग्रामों में सख्त मोड का उपयोग कर सकते हैं। यह आपको और स्पष्ट कोड लिखने में मदद कर सकता है, उदाहरण के लिए आपको अविश्लेष्य वारियेबल का उपयोग करने से रोकता है。
"use strict
” यह केवल एक स्ट्रिंग एक्सप्रेशन है। पुराने ब्राउज़र इसे समझ नहीं पाएंगे और त्रुटि नहीं फेंकेंगे。
कृपया पढ़ें JS सख्त मोड में और अधिक पढ़ें。
String.trim()
String.trim()
इससे स्ट्रिंग के दोनों ओर की खाली जगहों को हटा दिया जाता है。
इंस्टांस
var str = " Hello World! "; alert(str.trim());
कृपया JS शब्दकोश विधि में और अधिक पढ़ें。
Array.isArray()
isArray()
यह पद्धति एक ऑब्जेक्ट को एक एलिमेंट क्या है या नहीं की जांच करती है。
इंस्टांस
function myFunction() { var fruits = ["Banana", "Orange", "Apple", "Mango"]; var x = document.getElementById("demo"); x.innerHTML = Array.isArray(fruits); }
कृपया JS एलिमेंट में और अधिक पढ़ें。
Array.forEach()
forEach()
इस तरह की पद्धति प्रत्येक एलिमेंट पर एक बार कार्य करती है。
इंस्टांस
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.map()
इस उदाहरण में प्रत्येक एलिमेंट को 2 से बढ़ाया जाता है:
इंस्टांस
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.filter()
इस उदाहरण में 18 से बड़े मूल्यों वाले एलिमेंटों से एक नया एलिमेंट बनाया जाता है:
इंस्टांस
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.reduce()
इस उदाहरण में एक त्रिंगोल में सभी संख्याओं का कुल योग निर्धारित किया जाता है:
इंस्टांस
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.reduceRight()
इस उदाहरण में भी, आयता में सभी संख्याओं का योग निकालना है:
इंस्टांस
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.every()
इस उदाहरण में, सभी मूल्य 18 से अधिक हैं का परीक्षण किया जाता है:
इंस्टांस
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.some()
इस उदाहरण में, कुछ मूल्य 18 से अधिक हैं का परीक्षण किया जाता है:
इंस्टांस
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.some(myFunction); function myFunction(value) { return value > 18; }
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
Array.indexOf()
आयता में किसी तत्व का मूल्य खोजकर उसका स्थान वापस करना:
इंस्टांस
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
कृपया JS आयता अनिर्दिष्ट विधियाँऔर अधिक जानकारी के लिए अध्ययन करें。
Array.lastIndexOf()
Array.lastIndexOf()
से Array.indexOf()
इसी प्रकार, लेकिन आयता के अंत से शुरू करके खोज करता है।
इंस्टांस
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
कृपया JS आयता अनिर्दिष्ट विधियाँ और अधिक जानकारी के लिए अध्ययन करें。
JSON.parse()
JSON का एक आम उपयोग Web सर्वर से डाटा प्राप्त करना है।
चिंता करें, आप Web सर्वर से इस टेक्स्ट वाक्यच्छेद को प्राप्त करते हैं:
'{"name":"Bill", "age":62, "city":"Seatle"}'
जेसक्रिप्ट फ़ंक्शन JSON.parse()
इसका उपयोग टेक्स्ट को JavaScript ऑब्जेक्ट में बदलने के लिए किया जाता है:
var obj = JSON.parse('{"name":"Bill", "age":62, "city":"Seatle"}');
हमारे JSON शिक्षा और अधिक जानकारी के लिए अध्ययन करें。
JSON.stringify()
JSON का एक आम उपयोग Web सर्वर को डाटा भेजना है।
डाटा को Web सर्वर को भेजने के समय, डाटा वाक्यच्छेद होना चाहिए।
चिंता करें, हम JavaScript में इस प्रकार का एक ऑब्जेक्ट हैं:
var obj = {"name":"Bill", "age":62, "city":"Seatle"};
इसे वाक्यच्छेद में बदलने के लिए JavaScript फ़ंक्शन JSON.stringify() का उपयोग करें।
var myJSON = JSON.stringify(obj);
परिणाम एक JSON प्रस्तुति के अनुसार का वाक्यच्छेद होगा।
मेरा JSON अब एक वाक्यच्छेद है, सर्वर को भेजने के लिए तैयार है:
इंस्टांस
var obj = {"name":"Bill", "age":62, "city":"Seatle"}; var myJSON = JSON.stringify(obj); document.getElementById("demo").innerHTML = myJSON;
हमारे JSON शिक्षा और अधिक जानकारी के लिए अध्ययन करें。
Date.now()
Date.now() वापस पूर्व तारीख (1970 फरवरी 1 तारीख 00:00:00:00) से आगे के मिलिसेकंड की संख्या वापस देता है।
इंस्टांस
var timInMSs = Date.now();
Date.now()
का परिणाम Date ऑब्जैक्ट पर getTime() करने के समान है।
कृपया JS तारीख के बारे में अधिक जानकारी पा सकते हैं।
गुण Getter और Setter
ES5 में आपको गुणों को प्राप्त करने और/या सेट करने के लिए समान व्याकरण के साथ ऑब्जैक्ट विधियों को परिभाषित करने की अनुमति है।
इस उदाहरण में fullName नाम के गुण के लिए एक getter:
इंस्टांस
// ऑब्जेक्ट बनाएं var person = { firstName: "Bill", lastName : "Gates" get fullName() { return this.firstName + " " + this.lastName; } }); // getter का उपयोग करके ऑब्जैक्ट से आने वाले डाटा दिखाएं: document.getElementById("demo").innerHTML = person.fullName;
इस उदाहरण में भाषा गुण के लिए एक setter और getter:
इंस्टांस
var person = { firstName: "Bill", lastName : "Gates" language : "NO", get lang() { return this.language; }, set lang(value) { this.language = value; } }); // setter का उपयोग करके ऑब्जैक्ट के गुण को सेट करें: person.lang = "en"; // getter का उपयोग करके ऑब्जैक्ट से आने वाले डाटा दिखाएं: document.getElementById("demo").innerHTML = person.lang;
इस उदाहरण में setter का उपयोग किया गया है ताकि भाषा का उच्चाकरण सुनिश्चित हो सके:
इंस्टांस
var person = { firstName: "Bill", lastName : "Gates" language : "NO", set lang(value) { this.language = value.toUpperCase(); } }); // setter का उपयोग करके ऑब्जैक्ट के गुण को सेट करें: person.lang = "en"; // ऑब्जैक्ट से आने वाले डाटा दिखाएं: document.getElementById("demo").innerHTML = person.language;
कृपया JS ऑब्जैक्ट एक्सेसर Getter और Setter के बारे में अधिक जानकारी पा सकते हैं।
नए ऑब्जैक्ट गुण और विधियाँ
Object.defineProperty()
ES5 में नई ऑब्जैक्ट विधि है。
यह आपको आबद्ध करता है कि आप ऑब्जैक्ट के गुणों को परिभाषित करें और/या गुणों के मूल्य और/या मेटाडाटा को बदलें。
इंस्टांस
// ऑब्जेक्ट बनाएं var person = { firstName: "Bill", lastName : "Gates" language : "NO", }); // गुण बदलें Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : true, configurable : true }); // गुण गणना करें var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
अगला उदाहरण ही सारा कोड है, लेकिन गणना में भाषा गुण को छुपाया गया है:
इंस्टांस
// ऑब्जेक्ट बनाएं var person = { firstName: "Bill", lastName : "Gates" language : "NO", }); // गुण बदलें Object.defineProperty(person, "language", { value: "EN", writable : true, enumerable : false, configurable : true }); // गुण गणना करें var txt = ""; for (var x in person) { txt += person[x] + "<br>"; } document.getElementById("demo").innerHTML = txt;
// इस उदाहरण में एक setter और getter बनाया गया है ताकि भाषा के बदले को बड़ा किया जा सके:
इंस्टांस
// ऑब्जेक्ट बनाएं var person = { firstName: "Bill", lastName : "Gates" language : "NO" }); // गुण बदलें Object.defineProperty(person, "language", { get : function() { return language }, set : function(value) { language = value.toUpperCase()} }); // भाषा बदलें person.language = "en"; // भाषा दिखाएं document.getElementById("demo").innerHTML = person.language;
ES5 नए ऑब्जेक्ट विधियाँ
ECMAScript 5 ने JavaScript में कई नए ऑब्जेक्ट विधियाँ जोड़ीं:
// ऑब्जेक्ट गुण जोड़े या संशोधित करना Object.defineProperty(object, property, descriptor) // कई ऑब्जेक्ट गुण जोड़े या संशोधित करना Object.defineProperties(object, descriptors) // गुण पहुंच Object.getOwnPropertyDescriptor(object, property) // सभी गुण को एक सूची में वापस करना Object.getOwnPropertyNames(object) // गणनीय गुण को एक सूची में वापस करना Object.keys(object) // अभिप्राय पहुंच Object.getPrototypeOf(object) // वस्तु को गुण जोड़ने से रोकता है Object.preventExtensions(object) // यदि वस्तु को गुण जोड़ा जा सकता है तो true रिटर्न करता है Object.isExtensible(object) // वस्तु के गुणों (नहीं की रूपरेखा) को परिवर्तन से रोकता है Object.seal(object) // यदि वस्तु बंद है तो true रिटर्न करता है Object.isSealed(object) // वस्तु को किसी भी परिवर्तन से रोकता है Object.freeze(object) // यदि वस्तु फ़्रीज़ रही है तो true रिटर्न करता है Object.isFrozen(object)
कृपया वस्तु ECMAScript5 और अधिक जानकारी के लिए अध्ययन करें。
गुणों की पहुंच के लिए शब्दकोश
charAt()
विधि शब्दकोश में निर्दिष्ट सूचकांक (स्थान) के लिए अक्षर रिटर्न करता है:
इंस्टांस
var str = "HELLO WORLD"; str.charAt(0); // रिटर्न H
ECMAScript 5 वस्तु के लिए गुणों की पहुंच की अनुमति देता है:
इंस्टांस
var str = "HELLO WORLD"; str[0]; // रिटर्न H
शब्दकोश की गुणों की पहुंच के लिए कुछ परिणाम अनिश्चित हो सकते हैं。
कृपया JS शब्दकोश विधि और अधिक जानकारी के लिए अध्ययन करें。
अंतिम संदेश(Trailing Commas)
ECMAScript 5 वस्तु और अद्यतन रूपरेखा में अंतिम संदेश का उपयोग करता है:
वस्तु रूपरेखा
person = { firstName: "Bill", lastName: " Gates", age: 62, }
अद्यतन रूपरेखा
points = [ 1, 5, 10, 25, 40, 100, ];
चेतावनी!!!
Internet Explorer 8 टूट जाएगा。
JSON अंतिम संदेश अनुमत नहीं करता。
JSON वस्तु:
// अनुमत: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62}' JSON.parse(person) // निषिद्ध: var person = '{"firstName":"Bill", "lastName":"Gates", "age":62,}' JSON.parse(person)
JSON अद्यतन:
// अनुमत: points = [40, 100, 1, 5, 25, 10] // निषिद्ध: points = [40, 100, 1, 5, 25, 10,]
बहुपदी स्ट्रिंग
यदि अनुग्रह से बाद उत्क्रमित किया जाता है, ECMAScript 5 को बहुपदी स्ट्रिंग लिखने की अनुमति है (लिंगुइज़िकल लिटेरल):
इंस्टांस
"Hello \ Kitty!";
\ विधि को पूरी तरह से समर्थन नहीं मिला है。
बहुत पुराने ब्राउज़र एक अलग तरीके से अनुग्रह से बाद के अंकगणन के बाद के खाली जगह को संभाल सकते हैं。
कुछ पुराने ब्राउज़र अनुग्रह से बाद के अंकगणन के बाद खाली जगह की अनुमति नहीं देते हैं。
अल्पकृत के शब्द को विभाजित करने के लिए एक सुरक्षित तरीका स्ट्रिंग जोड़ का उपयोग करना है:
इंस्टांस
"Hello " + "Kitty!";
अवधारणा के रूप में अधिकारी नाम
ECMAScript 5 को अवधारणा को रूप से अधिकारी नाम के रूप में बनाया जा सकता है:
ऑब्जेक्ट इंस्टांस
var obj = {name: "Bill", new: "yes"}
ES5 (ECMAScript 5) ब्राउज़र समर्थन
Chrome 23, IE 10 और Safari 6 पहले से ही ECMAScript 5 का पूर्ण समर्थन करने वाले ब्राउज़र हैं:
च्रोम 23 | IE10 / Edge | फायरफॉक्स 21 | सैफारी 6 | ओपेरा 15 |
2012 सितंबर | 2012 सितंबर | 2013 अप्रैल | 2012 जुलाई | 2013 जुलाई |
- पिछला पृष्ठ JS संस्करण
- अगला पृष्ठ JS 2015 (ES6)