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

JavaScript date.@@toPrimitive() फंक्शन

JavaScript date.@@toPrimitive() फंक्शन (असल में Symbol.toPrimitive) डेट ऑब्जेक्ट को प्रिमिटिव वैल्यू में बदलता है।

उदाहरण

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8" /> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
  <title>Date toPrimitive</title> 
  <style> 
    body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } 
    .sample { font-size: 18px; font-weight: 500; } 
  </style> 
</head> 
<body> 
  <h1>JavaScript date.@@toPrimitive() फंक्शन</h1> 
  <div class="sample"></div> 
  <button class="Btn">यहां क्लिक करें</button> 
  <h3>ऊपर दिए गए बटन पर क्लिक करके डेट को प्रिमिटिव वैल्यू के रूप में देखें</h3> 
  <script> 
    let fillEle = document.querySelector(".sample"); 
    let date = new Date(); 
    let primitiveDef = date[Symbol.toPrimitive]("default"); 
    let primitiveNum = date[Symbol.toPrimitive]("number"); 
    document.querySelector(".Btn").addEventListener("click", () => { 
      fillEle.innerHTML += "Hint = default :" + primitiveDef + "<br>"; 
      fillEle.innerHTML += "Hint = number :" + primitiveNum; 
    }); 
  </script> 
</body> 
</html>

आउटपुट

JavaScript date.@@toPrimitive() फंक्शन

"यहां क्लिक करें" बटन पर क्लिक करने पर:

JavaScript date.@@toPrimitive() फंक्शन

Symbol.toPrimitive समझाया गया:

Symbol.toPrimitive एक बिल्ट-इन सिंबल है जो ऑब्जेक्ट को प्रिमिटिव वैल्यू में बदलने के लिए फंक्शन निर्दिष्ट करता है। यह फंक्शन एक hint आर्गुमेंट प्राप्त करता है:

Hint विवरण Date के लिए रिटर्न
"string" स्ट्रिंग कन्वर्जन (उदाहरण: String(date), alert(date)) डेट स्ट्रिंग (toString() के समान)
"number" नंबर कन्वर्जन (उदाहरण: Number(date), +date) टाइमस्टैम्प (मिलिसेकंड्स, valueOf() के समान)
"default" डिफ़ॉल्ट कन्वर्जन (उदाहरण: date + '', date == value) डेट के लिए स्ट्रिंग (toString() के समान)

Date ऑब्जेक्ट का डिफ़ॉल्ट व्यवहार:

const date = new Date('2023-01-15T10:30:00');

// स्ट्रिंग कन्वर्जन
String(date)           // "Sun Jan 15 2023 10:30:00 GMT+0530 (India Standard Time)"
date.toString()        // समान
date + ''              // समान (default hint)

// नंबर कन्वर्जन
Number(date)           // 1673766600000 (मिलिसेकंड्स)
+date                  // समान
date.valueOf()         // समान
date.getTime()         // समान

// डिफ़ॉल्ट (== तुलना में)
date == 'Sun Jan 15 2023...'  // true (string comparison)
date == 1673766600000         // true (number comparison)

कस्टम ऑब्जेक्ट में Symbol.toPrimitive:

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

console.log(+myObject);        // 42 (number)
console.log(String(myObject)); // "[Value: 42]" (string)
console.log(myObject + '');    // 42 (default -> number for this obj)

नोट:

उदाहरण में date[Symbol.toPrimitive]("default") डायरेक्ट कॉल किया गया है, लेकिन आमतौर पर यह JavaScript इंजन द्वारा आंतरिक रूप से कॉल किया जाता है जब ऑब्जेक्ट को प्रिमिटिव में कन्वर्ट करने की आवश्यकता होती है।

  1. - जावास्क्रिप्ट में Date.getUTCDay() फ़ंक्शन

    Date ऑब्जेक्ट जावास्क्रिप्ट भाषा में बिल्ट-इन एक डेटा टाइप है। Date ऑब्जेक्ट्स को new Date() के साथ बनाया जाता है जैसा कि नीचे दिखाया गया है।एक बार Date ऑब्जेक्ट बन जाने के बाद, कई मेथड्स आपको इस पर ऑपरेट करने की अनुमति देते हैं। अधिकांश मेथड्स आपको ऑब्जेक्ट के वर्ष, महीना, दिन, घंटा, मिनट, सेकंड और

  1. - JavaScript में Date.toDateString() फंक्शन

    Date ऑब्जेक्ट JavaScript भाषा में बिल्ट-इन एक डेटा टाइप है। Date ऑब्जेक्ट्स को नीचे दिखाए अनुसार new Date() का उपयोग करके बनाया जाता है। एक बार Date ऑब्जेक्ट बन जाने के बाद, कई मेथड्स आपको इस पर ऑपरेट करने की अनुमति देते हैं। अधिकांश मेथड्स आपको ऑब्जेक्ट के वर्ष, महीना, दिन, घंटा, मिनट, सेकंड और म

  1. JavaScript Symbol.toPrimitive: ऑब्जेक्ट को प्रिमिटिव में बदलें JavaScript Symbol.toPrimitive: ऑब्जेक्ट को प्रिमिटिव में बदलें

    Symbol.toPrimitive एक वेल-नोन सिंबल है जो किसी ऑब्जेक्ट को संबंधित प्रिमिटिव मान में बदलने के लिए फंक्शन को निर्दिष्ट करता है। जब किसी ऑब्जेक्ट को प्रिमिटिव मान की आवश्यकता होती है, तो JavaScript इस मेथड को कॉल करता है। सिंटैक्स obj[Symbol.toPrimitive](hint) hint पैरामीटर अपेक्षित प्रकार निर्दिष्ट