मुझे पता है कि for... inलूप क्या है (यह कुंजी पर पुनरावृत्त होता है), लेकिन पहली बार के बारे में सुना for... of(यह मूल्य से अधिक पुनरावृत्त करता है)।
मैं for... ofलूप से उलझन में हूं । मुझे विशेषण नहीं मिला। यह नीचे दिया गया कोड है:
var arr = [3, 5, 7];
arr.foo = "hello";
for (var i in arr) {
console.log(i); // logs "0", "1", "2", "foo"
}
for (var i of arr) {
console.log(i); // logs "3", "5", "7"
// it is does not log "3", "5", "7", "hello"
}
मुझे जो मिला है, वह for... ofसंपत्ति मूल्यों पर आधारित है। तो फिर "3", "5", "7", "hello"इसके बजाय लॉग (रिटर्न) क्यों नहीं किया जाता है "3", "5", "7"? लेकिन for... inलूप प्रत्येक कुंजी पर निर्भर करता है ( "0", "1", "2", "foo")। यहाँ for... inलूप भी fooकुंजी पर पुनरावृत्त करता है। लेकिन संपत्ति for... ofके मूल्य से अधिक पुनरावृति नहीं करता है । ऐसा क्यों है?foo"hello"
संक्षेप में लंबी कहानी:
यहां मैंने for... ofलूप को सांत्वना दी । इसे लॉग इन करना चाहिए "3", "5", "7","hello"लेकिन यहां यह लॉग होता है "3", "5", "7"। क्यों ?
for ... ofभाषा में एरर्स के साथ उपयोग करने के for ... inसाथ समस्याओं को ठीक करने के लिए लाया गया था । Array.prototypeइस तरह से संशोधन किया जा सकता है कि अतिरिक्त गुण उपलब्ध हैं, यह उन्हें असुरक्षित बनाने के लिए असुरक्षित है क्योंकि आप गैर-संख्यात्मक कुंजी प्राप्त कर सकते हैं जो आप उम्मीद नहीं कर रहे थे।
ofकीवर्ड ( डुप्लिकेट ऑफ़ लूप्स) का डुप्लिकेट नहीं है , क्योंकि यह सामान्य अवलोकन के लिए पूछने के बजाय फीचर के एक विशिष्ट व्यवहार के बारे में पूछता है।
for <key> in" और " for <value> of" कहने की आदत for..of
