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

JavaScript में eval() से विशिष्ट मान कैसे प्राप्त करें?

eval() स्ट्रिंग को JavaScript कोड के रूप में निष्पादित करता है। सुरक्षा जोखिम के कारण उत्पादन कोड में उपयोग न करें।

बुनियादी उपयोग

var studentMarks = [76, 34, 56, 78, 81, 98, 90, 59, 64];

// स्ट्रिंग से वेरिएबल नाम एक्सेस करें
var varName = "studentMarks";
var arrayRef = eval(varName);  // studentMarks ऐरे लौटाता है

console.log(arrayRef[1]); // 34 (इंडेक्स 1 का मान)

डायनामिक प्रॉपर्टी एक्सेस (eval के बिना - बेहतर)

// ✅ अच्छा: ब्रैकेट नोटेशन
const data = { user: { name: "John", age: 30 } };
const path = "user.name";
const value = path.split('.').reduce((obj, key) => obj?.[key], data);
console.log(value); // "John"

// ❌ बुरा: eval उपयोग
const value = eval("data." + path); // सुरक्षा जोखिम

eval() के खतरे

  • कोड इंजेक्शन - दुर्भावनापूर्ण कोड निष्पादित हो सकता है
  • डीबगिंग कठिन - स्टैक ट्रेस अस्पष्ट
  • प्रदर्शन - इंजन ऑप्टिमाइज़ नहीं कर सकता
  • स्कोप प्रदूषण - लोकल वेरिएबल्स एक्सेस कर सकता है

सुरक्षित विकल्प

// 1. ऑब्जेक्ट लुकअप
const vars = { studentMarks: [76, 34, 56] };
const name = "studentMarks";
console.log(vars[name][1]); // 34

// 2. Function कंस्ट्रक्टर (थोड़ा बेहतर लेकिन अभी जोखिम)
const func = new Function('arr', 'return arr[1]');
console.log(func(studentMarks)); // 34

// 3. JSON.parse (केवल डेटा के लिए)
const jsonStr = '[76,34,56,78]';
const arr = JSON.parse(jsonStr);
console.log(arr[1]); // 34

चलाने का तरीका

node eval-demo.js

आउटपुट

34

निष्कर्ष

eval() का उपयोग न करें। डायनामिक एक्सेस के लिए ऑब्जेक्ट/मैप लुकअप, Function कंस्ट्रक्टर, या JSON.parse उपयोग करें।

  1. - JavaScript से बटन का मान कैसे खोजें?

    JavaScript में बटन का मान प्राप्त करने के लिए value प्रॉपर्टी उपयोग करें। उदाहरण बटन का मान खोजने के लिए निम्न कोड चलाएं: <!DOCTYPE html> <html>    <body>       <form id=myForm>          <button id=btn type=button value=my

  1. जावास्क्रिप्ट से विशिष्ट टेक्स्ट वाले div को कैसे छुपाएं? जावास्क्रिप्ट से विशिष्ट टेक्स्ट वाले div को कैसे छुपाएं?

    परिचय किसी विशिष्ट टेक्स्ट वाले div एलिमेंट को छुपाने के लिए, हम getElementsByClassName() का उपयोग करके एलिमेंट्स का चयन कर सकते हैं, उन पर पुनरावृति कर सकते हैं, और शर्त के आधार पर style.display = none सेट कर सकते हैं। उदाहरण <!DOCTYPE html> <html lang="hi"> <head> <

  1. JavaScript से टू-डू लिस्ट कैसे बनाएं JavaScript से टू-डू लिस्ट कैसे बनाएं

    उदाहरण टू-डू लिस्ट बनाने के लिए निम्नलिखित कोड है: <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <meta name=viewport content=width=device-width, initial-scale=1.0> <title>Document</title> </head> <link rel=stylesheet href=/