Console Utilities API में, सामान्य टास्क करने के लिए काम के फ़ंक्शन का कलेक्शन शामिल है. जैसे: DOM एलिमेंट चुनना और उनकी जांच करना, ऑब्जेक्ट की क्वेरी करना, डेटा को पढ़ने लायक फ़ॉर्मैट में दिखाना, प्रोफ़ाइलर को रोकना और शुरू करना, DOM इवेंट और फ़ंक्शन कॉल की निगरानी करना वगैरह.
क्या आपको console.log(), console.error(), और console.* के बाकी फ़ंक्शन के बारे में जानना है? Console API के बारे में जानकारी देखें
Console API Reference.
$_
$_ से, हाल ही में आकलन किए गए एक्सप्रेशन की वैल्यू मिलती है.
यहां दिए गए उदाहरण में, एक सामान्य एक्सप्रेशन (2 + 2) का आकलन किया गया है. इसके बाद, $_ प्रॉपर्टी का आकलन किया जाता है. इसमें वही वैल्यू होती है:

अगले उदाहरण में, आकलन किए गए एक्सप्रेशन में शुरुआत में नामों की एक कैटगरी शामिल होती है. कैटगरी की लंबाई जानने के लिए,
$_.length का आकलन करने पर, $_ में सेव की गई वैल्यू बदलकर, हाल ही में
आकलन किया गया एक्सप्रेशन, 4 हो जाती है:

$0 - $4
$0, $1, $2, $3, और $4 कमांड, Elements पैनल में जांचे गए पिछले पांच DOM एलिमेंट (इनमें ::before या ::after जैसे स्यूडो-एलिमेंट भी शामिल हैं) या Profiles पैनल में चुने गए पिछले पांच JavaScript हीप ऑब्जेक्ट के लिए, इतिहास के रेफ़रंस के तौर पर काम करते हैं. $0 से, हाल ही में चुने गए एलिमेंट या JavaScript ऑब्जेक्ट की वैल्यू मिलती है. वहीं, $1 से दूसरे नंबर पर हाल ही में चुने गए एलिमेंट या JavaScript ऑब्जेक्ट की वैल्यू मिलती है. इसी तरह, बाकी कमांड से भी वैल्यू मिलती है.
यहां दिए गए उदाहरण में, Elements पैनल में एक img एलिमेंट चुना गया है. Console ड्रॉअर में, $0 का आकलन किया गया है और इसमें वही एलिमेंट दिखता है:

नीचे दी गई इमेज में, उसी पेज पर कोई दूसरा एलिमेंट चुना गया है. अब $0 से, हाल ही में चुने गए एलिमेंट की वैल्यू मिलती है. वहीं, $1 से पहले चुने गए एलिमेंट की वैल्यू मिलती है:

$(selector [, startNode])
$(selector) से, दिए गए सीएसएस सिलेक्टर वाले पहले DOM एलिमेंट का रेफ़रंस मिलता है. एक
आर्ग्युमेंट के साथ कॉल करने पर, यह फ़ंक्शन, document.querySelector() फ़ंक्शन का शॉर्टकट होता है.
यहां दिए गए उदाहरण से, दस्तावेज़ में मौजूद पहले <img> एलिमेंट का रेफ़रंस मिलता है:

DOM में इसे ढूंढने के लिए, मिले नतीजे पर राइट क्लिक करें और Elements Panel में दिखाएं को चुनें. वहीं, पेज पर इसे दिखाने के लिए, देखने के लिए स्क्रोल करें को चुनें.
यहां दिए गए उदाहरण से, फ़िलहाल चुने गए एलिमेंट का रेफ़रंस मिलता है और इसकी src प्रॉपर्टी दिखती है:

इस फ़ंक्शन में दूसरा पैरामीटर, startNode भी इस्तेमाल किया जा सकता है. इससे यह तय किया जाता है कि एलिमेंट को किस 'एलिमेंट' या नोड से खोजा जाए. इस पैरामीटर की डिफ़ॉल्ट वैल्यू document होती है.
यहां दिए गए उदाहरण से, devsite-header-background का डिसेंडेंट (वंशज) होने वाले पहले img एलिमेंट का रेफ़रंस मिलता है और इसकी src प्रॉपर्टी दिखती है:

$$(selector [, startNode])
यहां दिए गए उदाहरण में, $$(selector) से, दिए गए सीएसएस सिलेक्टर से मैच होने वाले एलिमेंट की एक कैटगरी मिलती है. यह कमांड,
Array.from(document.querySelectorAll()) को कॉल करने के बराबर है.
$$() to create an array of all <img> elements in the current document
and displays the value of each element's src property:let images = $$('img');
for (let each of images) {
console.log(each.src);
}
का इस्तेमाल किया गया है
<img> एलिमेंट
जो चुने गए नोड के बाद, मौजूदा दस्तावेज़ में दिखते हैं:
let images = $$('img', document.querySelector('.devsite-header-background'));
for (let each of images) {
console.log(each.src);
}

$x(path [, startNode])
$x(path) से, दिए गए XPath एक्सप्रेशन से मैच होने वाले DOM एलिमेंट की एक कैटगरी मिलती है.
उदाहरण के लिए, इससे पेज पर मौजूद सभी <p> एलिमेंट मिलते हैं:
$x("//p")

यहां दिए गए उदाहरण से, <p> के वे सभी एलिमेंट मिलते हैं जिनमें <a> एलिमेंट शामिल हैं:
$x("//p[a]")

अन्य सिलेक्टर फ़ंक्शन की तरह, $x(path) में दूसरा पैरामीटर, startNode भी इस्तेमाल किया जा सकता है. इससे यह तय किया जाता है कि एलिमेंट को किस एलिमेंट या नोड से खोजा जाए.

clear()
clear() से, कंसोल का इतिहास मिट जाता है.
clear();
copy(object)
copy(object) से, दिए गए ऑब्जेक्ट का स्ट्रिंग वर्शन क्लिपबोर्ड पर कॉपी हो जाता है.
copy($0);
debug(function)
दिए गए फ़ंक्शन को कॉल करने पर, डीबगर शुरू हो जाता है और Sources पैनल में फ़ंक्शन के अंदर ब्रेक हो जाता है. इससे कोड को स्टेप-बाय-स्टेप चलाया जा सकता है और उसमें मौजूद गड़बड़ियों को ठीक किया जा सकता है.
debug(getData);

फ़ंक्शन पर ब्रेक होने से रोकने के लिए, undebug(fn) का इस्तेमाल करें. वहीं, सभी ब्रेकपॉइंट बंद करने के लिए, यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें.
ब्रेकपॉइंट के बारे में ज़्यादा जानने के लिए, ब्रेकपॉइंट की मदद से कोड को रोकना लेख पढ़ें.
dir(object)
dir(object) से, दिए गए ऑब्जेक्ट की सभी प्रॉपर्टी, ऑब्जेक्ट-स्टाइल लिस्टिंग में दिखती हैं. यह तरीका, Console API के console.dir() तरीके का शॉर्टकट है.
यहां दिए गए उदाहरण में, कमांड लाइन में सीधे document.body का आकलन करने और उसी एलिमेंट को दिखाने के लिए dir() का इस्तेमाल करने के बीच का अंतर दिखाया गया है:
document.body;
dir(document.body);

ज़्यादा जानकारी के लिए, Console API में console.dir() की एंट्री देखें.
dirxml(object)
dirxml(object) से, दिए गए ऑब्जेक्ट का एक्सएमएल वर्शन दिखता है. यह Elements पैनल में दिखता है.
यह तरीका, console.dirxml() तरीके के बराबर है.
inspect(object/function)
inspect(object/function) से, दिए गए एलिमेंट या ऑब्जेक्ट को सही पैनल में खोला और चुना जाता है. जैसे, DOM एलिमेंट के लिए Elements पैनल या JavaScript हीप ऑब्जेक्ट के लिए Profiles पैनल.
यहां दिए गए उदाहरण में, Elements पैनल में document.body खोला गया है:
inspect(document.body);

जांच के लिए कोई फ़ंक्शन पास करने पर, वह फ़ंक्शन Sources पैनल में दस्तावेज़ खोलता है, ताकि उसकी जांच की जा सके.
getEventListeners(object)
getEventListeners(object) से, दिए गए ऑब्जेक्ट पर रजिस्टर किए गए इवेंट लिसनर मिलते हैं. इससे मिलने वाली वैल्यू एक ऑब्जेक्ट होती है. इसमें रजिस्टर किए गए हर इवेंट टाइप (click या keydown, उदाहरण के लिए) के लिए एक कैटगरी शामिल होती है. हर कैटगरी के सदस्य, ऐसे ऑब्जेक्ट होते हैं जो हर टाइप के लिए रजिस्टर किए गए लिसनर के बारे में बताते हैं. उदाहरण के लिए, यहां दस्तावेज़ ऑब्जेक्ट पर रजिस्टर किए गए सभी इवेंट लिसनर की सूची दी गई है:
getEventListeners(document);

अगर दिए गए ऑब्जेक्ट पर एक से ज़्यादा लिसनर रजिस्टर किए गए हैं, तो कैटगरी में हर लिसनर के लिए एक सदस्य शामिल होता है. यहां दिए गए उदाहरण में, click इवेंट के लिए दस्तावेज़ एलिमेंट पर दो इवेंट लिसनर रजिस्टर किए गए हैं:

इनकी प्रॉपर्टी एक्सप्लोर करने के लिए, इनमें से हर ऑब्जेक्ट को और बड़ा किया जा सकता है:

ज़्यादा जानकारी के लिए, ऑब्जेक्ट की प्रॉपर्टी की जांच करना लेख पढ़ें.
keys(object)
keys(object) से, दिए गए ऑब्जेक्ट की प्रॉपर्टी के नामों वाली एक कैटगरी मिलती है. इन्हीं प्रॉपर्टी की जुड़ी वैल्यू पाने के लिए, values() का इस्तेमाल करें.
उदाहरण के लिए, मान लें कि आपके ऐप्लिकेशन ने यह ऑब्जेक्ट तय किया है:
let player = {
"name": "Parzival",
"number": 1,
"state": "ready",
"easterEggs": 3
};
मान लें कि player को ग्लोबल नेमस्पेस में तय किया गया है (आसानी के लिए). ऐसे में, keys(player) और
values(player) को Console में टाइप करने पर, यह नतीजा मिलता है:

monitor(function)
दिए गए फ़ंक्शन को कॉल करने पर, कंसोल में एक मैसेज लॉग होता है. इसमें फ़ंक्शन का नाम और वे आर्ग्युमेंट शामिल होते हैं जो फ़ंक्शन को कॉल करते समय पास किए जाते हैं.
function sum(x, y) {
return x + y;
}
monitor(sum);

मॉनिटरिंग रोकने के लिए, unmonitor(function) का इस्तेमाल करें.
monitorEvents(object [, events])
दिए गए ऑब्जेक्ट पर, दिए गए इवेंट में से कोई एक होने पर, इवेंट ऑब्जेक्ट कंसोल में लॉग हो जाता है. मॉनिटर करने के लिए, एक इवेंट, इवेंट की कैटगरी या सामान्य इवेंट "टाइप" में से कोई एक तय किया जा सकता है. ये टाइप, इवेंट के पहले से तय कलेक्शन से मैप किए जाते हैं. उदाहरण देखें.
यहां दिए गए उदाहरण में, विंडो ऑब्जेक्ट पर होने वाले सभी रीसाइज़ इवेंट की निगरानी की जाती है.
monitorEvents(window, "resize");

यहां दिए गए उदाहरण में, विंडो ऑब्जेक्ट पर "साइज़ बदलें" और "स्क्रोल करें" दोनों इवेंट की निगरानी करने के लिए एक कलेक्शन तय की गई है:
monitorEvents(window, ["resize", "scroll"])
इवेंट के उपलब्ध "टाइप" में से कोई एक भी तय किया जा सकता है. ये स्ट्रिंग, इवेंट के पहले से तय सेट से मैप की जाती हैं. यहां दी गई टेबल में, इवेंट के उपलब्ध टाइप और उनसे जुड़े इवेंट मैपिंग की सूची दी गई है:
| इवेंट टाइप और उससे जुड़े मैप किए गए इवेंट | |
|---|---|
| माउस | "mousedown", "mouseup", "click", "dblclick", "mousemove", "mouseover", "mouseout", "mousewheel" |
| बटन | "keydown", "keyup", "keypress", "textInput" |
| छूना | "touchstart", "touchmove", "touchend", "touchcancel" |
| कंट्रोल | "resize", "scroll", "zoom", "focus", "blur", "select", "change", "submit", "reset" |
उदाहरण के लिए, यहां "बटन" इवेंट टाइप का इस्तेमाल किया गया है. इससे Elements पैनल में फ़िलहाल चुने गए इनपुट टेक्स्ट फ़ील्ड पर होने वाले सभी बटन इवेंट की निगरानी की जाती है.
monitorEvents($0, "key");
टेक्स्ट फ़ील्ड में कोई वर्ण टाइप करने के बाद, यहां आउटपुट का नमूना दिया गया है:

मॉनिटरिंग रोकने के लिए, unmonitorEvents(object[, events]) का इस्तेमाल करें.
profile([name]) और profileEnd([name])
profile() से, JavaScript CPU प्रोफ़ाइलिंग सेशन शुरू होता है. इसमें नाम भी दिया जा सकता है. profileEnd()
से प्रोफ़ाइल पूरी हो जाती है. साथ ही, Performance पैनल अपने-आप खुल जाता है और नतीजे Main ट्रैक में दिखते हैं.
प्रोफ़ाइलिंग शुरू करने के लिए:
profile("Profile 1")
प्रोफ़ाइलिंग रोकने और Performance > Main ट्रैक में नतीजे देखने के लिए:
profileEnd("Profile 1")
Performance > Main ट्रैक में नतीजा:

प्रोफ़ाइल को नेस्ट भी किया जा सकता है. उदाहरण के लिए, यह किसी भी क्रम में काम करेगा:
profile('A');
profile('B');
profileEnd('A');
profileEnd('B');
queryObjects(Constructor)
दिए गए कंस्ट्रक्टर से बनाए गए ऑब्जेक्ट की कैटगरी पाने के लिए, कंसोल से queryObjects(Constructor) को कॉल करें. उदाहरण के लिए:
queryObjects(Promise). इससेPromiseके सभी इंस्टेंस मिलते हैं.queryObjects(HTMLElement). इससे सभी एचटीएमएल एलिमेंट मिलते हैं.queryObjects(foo), जहांfooएक क्लास का नाम है. इससेnew foo()के ज़रिए इंस्टैंशिएट किए गए सभी ऑब्जेक्ट मिलते हैं.
queryObjects() का स्कोप, कंसोल में फ़िलहाल चुना गया एक्ज़ीक्यूशन कॉन्टेक्स्ट होता है.
table(data [, columns])
डेटा ऑब्जेक्ट को टेबल फ़ॉर्मैट में लॉग करने के लिए, डेटा ऑब्जेक्ट को कॉलम के हेडर के साथ पास करें. कॉलम के हेडर देना ज़रूरी नहीं है.
यह console.table() का शॉर्टकट है.
उदाहरण के लिए, कंसोल में टेबल का इस्तेमाल करके नामों की सूची दिखाने के लिए, यह तरीका अपनाएं:
let names = [
{ firstName: "John", lastName: "Smith" },
{ firstName: "Jane", lastName: "Doe" },
];
table(names);

लॉग की गई टेबल को फ़ॉर्मैट की गई Markdown टेबल या CSV डेटा के तौर पर क्लिपबोर्ड पर कॉपी करने के लिए, Console में टेबल पर राइट क्लिक करें और कॉन्टेक्स्ट मेन्यू से, कॉपी करने का सही विकल्प चुनें.
undebug(function)
undebug(function) से, दिए गए फ़ंक्शन की डीबग करने की प्रोसेस रुक जाती है. इसलिए, फ़ंक्शन को कॉल करने पर, डीबगर शुरू नहीं होता. इसका इस्तेमाल, debug(fn) के साथ किया जाता है.
undebug(getData);
unmonitor(function)
unmonitor(function) से, दिए गए फ़ंक्शन की मॉनिटरिंग रुक जाती है. इसका इस्तेमाल, monitor(fn) के साथ किया जाता है.
unmonitor(getData);
unmonitorEvents(object [, events])
unmonitorEvents(object[, events]) से, दिए गए ऑब्जेक्ट और इवेंट की मॉनिटरिंग रुक जाती है. उदाहरण के लिए, यहां विंडो ऑब्जेक्ट पर होने वाली सभी इवेंट मॉनिटरिंग को रोका गया है:
unmonitorEvents(window);
किसी ऑब्जेक्ट पर होने वाले चुनिंदा इवेंट की मॉनिटरिंग भी रोकी जा सकती है. उदाहरण के लिए, यहां दिए गए कोड से, फ़िलहाल चुने गए एलिमेंट पर होने वाले सभी माउस इवेंट की मॉनिटरिंग शुरू होती है. इसके बाद, "mousemove" इवेंट की मॉनिटरिंग रुक जाती है. ऐसा शायद कंसोल आउटपुट में नॉइज़ कम करने के लिए किया जाता है:
monitorEvents($0, "mouse");
unmonitorEvents($0, "mousemove");
values(object)
values(object) से, दिए गए ऑब्जेक्ट की सभी प्रॉपर्टी की वैल्यू वाली एक कैटगरी मिलती है.
let player = {
"name": "Parzival",
"number": 1,
"state": "ready",
"easterEggs": 3
};
values(player);
