खोज…


परिचय

नोड 6 के साथ नोड का नया एलटीएस संस्करण बन गया है। हम नए ES6 मानकों को पेश करने के माध्यम से भाषा में कई सुधार देख सकते हैं। हम शुरू की गई कुछ नई विशेषताओं और उन्हें लागू करने के तरीकों के उदाहरणों के माध्यम से चलेंगे।

डिफ़ॉल्ट फ़ंक्शन पैरामीटर

function addTwo(a, b = 2) {
    return a + b;
}

addTwo(3) // Returns the result 5

डिफ़ॉल्ट फ़ंक्शन मापदंडों के अतिरिक्त के साथ अब आप तर्कों को वैकल्पिक बना सकते हैं और उन्हें अपनी पसंद के मान के लिए डिफ़ॉल्ट कर सकते हैं।

बाकी पैरामीटर

function argumentLength(...args) {
    return args.length;
}

argumentLength(5) // returns 1
argumentLength(5, 3) //returns 2
argumentLength(5, 3, 6) //returns 3

अपने फ़ंक्शन के अंतिम तर्क को प्रीफ़ोर्स करने से ... फ़ंक्शन में दिए गए सभी तर्क एक सरणी के रूप में पढ़े जाते हैं। इस उदाहरण में हम कई तर्कों में पास होते हैं और उन तर्कों से निर्मित सरणी की लंबाई प्राप्त करते हैं।

फैला हुआ संचालक

function myFunction(x, y, z) { }
var args = [0, 1, 2];
myFunction(...args);

फैल सिंटैक्स उन स्थानों में अभिव्यक्ति का विस्तार करने की अनुमति देता है जहां कई तर्क (फ़ंक्शन कॉल के लिए) या कई तत्व (सरणी शाब्दिक के लिए) या कई चर की अपेक्षा की जाती है। बाकी मापदंडों की तरह बस अपनी सरणी को प्राथमिकता दें ...

एरो फ़ंक्शंस

तीर फ़ंक्शन ECMAScript 6 में एक फ़ंक्शन को परिभाषित करने का नया तरीका है।

// traditional way of declaring and defining function
var sum = function(a,b)
{
    return a+b;
}

// Arrow Function
let sum = (a, b)=> a+b;

//Function defination using multiple lines 
let checkIfEven = (a) => {
    if( a % 2 == 0 )
        return true;
    else
        return false;
}

एरो फंक्शन में "यह"

समारोह में इस उदाहरण है कि फ़ंक्शन को कॉल करने के लिए इस्तेमाल वस्तु को संदर्भित करता है, लेकिन तीर समारोह में इस समारोह के इस तीर जिसमें समारोह परिभाषित किया गया है के बराबर है।

आइए डायग्राम का उपयोग करके समझते हैं एरो फंक्शन में इसका लेक्सिकल स्कोप

उदाहरणों का उपयोग करके समझना।

var normalFn = function(){
   console.log(this) // refers to global/window object.
}

var arrowFn = () => console.log(this); // refers to window or global object as function is defined in scope of global/window object
    
var service = {

    constructorFn : function(){

        console.log(this); //  refers to service as service object used to call method.

        var nestedFn = function(){
            console.log(this); // refers window or global object because no instance object was used to call this method.
        }
        nestedFn();
    },
    
    arrowFn : function(){
        console.log(this); // refers to service as service object was used to call method.
        let fn = () => console.log(this); // refers to service object as arrow function defined in function which is called using instance object.
        fn();
    } 
}

// calling defined functions
constructorFn();
arrowFn();
service.constructorFn();
service.arrowFn();

एरो फंक्शन में, यह लेक्सिकल स्कोप होता है जो फंक्शन का स्कोप होता है जहाँ एरो फंक्शन को परिभाषित किया जाता है।
पहला उदाहरण कार्यों को परिभाषित करने का पारंपरिक तरीका है और इसलिए, यह वैश्विक / विंडो ऑब्जेक्ट को संदर्भित करता है।
दूसरे उदाहरण में इसे एरो फंक्शन के अंदर उपयोग किया जाता है इसलिए यह उस दायरे को संदर्भित करता है जहां इसे परिभाषित किया गया है (जो कि विंडोज़ या ग्लोबल ऑब्जेक्ट है)। तीसरे उदाहरण में यह सर्विस ऑब्जेक्ट है क्योंकि फ़ंक्शन को कॉल करने के लिए सर्विस ऑब्जेक्ट का उपयोग किया जाता है।
चौथे उदाहरण में, एरो फंक्शन परिभाषित और फंक्शन से बुलाया जाता है जिसका स्कोप सर्विस है , इसलिए यह सर्विस ऑब्जेक्ट को प्रिंट करता है।

नोट: - वैश्विक ऑब्जेक्ट Node.Js और ब्राउज़र में विंडोज़ ऑब्जेक्ट में मुद्रित होता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow