मुझे कुछ कार्यों और उनके इंटरफेस को समझने में परेशानी हो रही है। अर्थात:

ReadonlyArray<unknown>.map( 
    callbackfn: (value: unknown, index: number, array: unknown[]) => unknown,
    thisArg?: any): unknown[]

जब मैं .map() फ़ंक्शन पर होवर करता हूं तो वेबस्टॉर्म यही प्रदर्शित करता है। मैं समझता हूं कि .map() एक निर्दिष्ट कॉलबैक फ़ंक्शन को एक पैरामीटर के रूप में लेता है, लेकिन => unknown, और thisArg?: any क्या दर्शाते हैं?

इसी तरह जब मैं forEach() फ़ंक्शन पर होवर करता हूं, तो पॉपअप इस तरह दिखता है:

ReadonlyArray<unknown>.forEach(
     callbackfn: (value: unknown, index: number, array: unknown[]) => void,
     thisArg?: any): void

ForEach भी एक पैरामीटर के रूप में कॉलबैक फ़ंक्शन लेता है, लेकिन => void, thisArg?: any): void क्या दर्शाता है?

-1
TraktorJack 13 अक्टूबर 2021, 11:34
1
प्रकार टाइपस्क्रिप्ट सिंटैक्स में दिखाए जाते हैं।
 – 
jonrsharpe
13 अक्टूबर 2021, 11:36

1 उत्तर

सबसे बढ़िया उत्तर
// the `.map` function is member of the generic type ReadonlyArray<unknown>. Where unknown is the type of the elements of the array
ReadonlyArray<unknown>.map( 
    // first argument is a callback function. The first argument of the callback is value, of type unknown, the second is index of type number, and so on
    callbackfn: (value: unknown, index: number, array: unknown[]) 
       // this parts means that the callback should return a value of type unknown
       => unknown,
    // .map takes a second arguments called thisArg of any type. The ? means that the argument is optional
    thisArg?: any)
    // .map returns an array of type unknown
    : unknown[]

प्रकार अज्ञात है क्योंकि यह उस सरणी में मौजूद तत्वों के प्रकार पर निर्भर करता है जिस पर .map लागू होता है। यदि यह वस्तु की एक सरणी है, तो अज्ञात प्रकार होगा object

इसी तरह, forEach पहला तर्क लेता है जो कॉलबैक है। लेकिन कॉलबैक कुछ भी नहीं देता है, इसलिए आपके पास => void.

2
thchp 13 अक्टूबर 2021, 11:48
1
तो क्या '?' इसके बाद Arg मतलब यह वैकल्पिक है?
 – 
TraktorJack
13 अक्टूबर 2021, 11:47
यह करता है (मैंने जवाब संपादित किया)
 – 
thchp
13 अक्टूबर 2021, 11:49