Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

जावास्क्रिप्ट symbol.description प्रॉपर्टी

जावास्क्रिप्ट में symbol.description प्रॉपर्टी एक Symbol ऑब्जेक्ट को प्रिमिटिव वैल्यू में बदलती है। सिंटैक्स इस प्रकार है:

Symbol()[Symbol.toPrimitive](hint);

उदाहरण 1

<!DOCTYPE html>
<html>
<body>
  <h2>डेमो हेडिंग</h2>
  <p>डिस्प्ले करने के लिए क्लिक करें...</p>
  <button onclick="display()">परिणाम</button>
  <p id="test"></p>
  <script>
    function display() {
      const val = Symbol('john');
      console.log(val[Symbol.toPrimitive]);
    }
  </script>
</body>
</html>

उदाहरण 2

<!DOCTYPE html>
<html>
<body>
  <h2>डेमो हेडिंग</h2>
  <p>डिस्प्ले करने के लिए क्लिक करें...</p>
  <button onclick="display()">परिणाम</button>
  <p id="test"></p>
  <script>
    function display() {
      const val = Symbol(2465);
      var res = val[Symbol.toPrimitive](99);
      console.log(res);
    }
  </script>
</body>
</html>

सही समझ

मूल लेख में भ्रम है। स्पष्टीकरण:

  • Symbol.description (ES2019) - सिम्बल के विवरण को स्ट्रिंग के रूप में लौटाता है
  • Symbol.toPrimitive - ऑब्जेक्ट-टू-प्रिमिटिव कन्वर्जन के लिए आंतरिक मेथड

Symbol.description (सही उपयोग)

const sym1 = Symbol('my description');
const sym2 = Symbol();

console.log(sym1.description); // "my description"
console.log(sym2.description); // undefined

// डिबगिंग के लिए उपयोगी
const USER_ID = Symbol('user-id');
console.log(USER_ID.description); // "user-id"

Symbol.toPrimitive (कस्टम कन्वर्जन)

const obj = {
  value: 42,
  [Symbol.toPrimitive](hint) {
    switch (hint) {
      case 'number': return this.value;
      case 'string': return `[Value: ${this.value}]`;
      case 'default': return this.value;
    }
  }
};

console.log(+obj);      // 42 (number)
console.log(`${obj}`);  // "[Value: 42]" (string)
console.log(obj + 10);  // 52 (default -> number)

नोट: Symbol.description रीड-ओनली प्रॉपर्टी है जो सिम्बल निर्माण के समय सेट होती है।

  1. JavaScript Infinity प्रॉपर्टी JavaScript Infinity प्रॉपर्टी

    JavaScript infinity प्रॉपर्टी अनंत (infinity) प्रदर्शित करती है यदि फ्लोटिंग-पॉइंट नंबर की ऊपरी सीमा पार हो जाती है और -infinity यदि निचली सीमा पार हो गई है। उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewpo

  1. JavaScript LastIndex प्रॉपर्टी JavaScript LastIndex प्रॉपर्टी

    JavaScript में LastIndex प्रॉपर्टी वह इंडेक्स पोजीशन लौटाती है जहां मिलान होता है और अगला मिलान उसी पोजीशन से शुरू होता है। LastIndex प्रॉपर्टी केवल तभी काम करती है जब g मॉडिफायर सेट हो।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" />

  1. JavaScript Source प्रॉपर्टी JavaScript Source प्रॉपर्टी

    JavaScript Source प्रॉपर्टी उस रेगुलर एक्सप्रेशन टेक्स्ट को लौटाती है जिसके खिलाफ दिए गए पैटर्न का मिलान किया जाना है।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width