मैं $scope.$eval
आपके बारे में उत्सुक था इसलिए अक्सर निर्देशों में देखता हूं, इसलिए मैंने स्रोत की जांच की और निम्नलिखित में पाया rootScope.js
:
$eval: function(expr, locals) {
return $parse(expr)(this, locals);
},
$parse
द्वारा परिभाषित किया ParseProvider
गया parse.js
प्रतीत होता है, जो अपने आप में कुछ प्रकार के मिनी-सिंटैक्स को परिभाषित करने के लिए प्रकट होता है (फ़ाइल 900 लाइनों लंबी है)।
मेरे प्रश्न हैं:
वास्तव में क्या
$eval
कर रहा है? इसे अपनी स्वयं की मिनी पार्सिंग भाषा की आवश्यकता क्यों है?सादे पुराने जावास्क्रिप्ट
eval
का उपयोग क्यों नहीं किया जा रहा है?
$parse
पागलपन महान है।