मेरे पास एक टाइपेडएरे सदस्य के साथ एक ऑब्जेक्ट है जो मैं सेट होने के बाद डेटा को संशोधित करने से रोकने के लिए जमा करना चाहता हूं। एक टाइपेडएरे को फ्रीज करने का प्रयास कर रहा है या इसके ऐरेबफर ने जैसा व्यवहार किया है, उतना व्यवहार नहीं किया था। मैं जानना चाहता हूं, जिज्ञासा से बाहर, यह इस तरह से व्यवहार क्यों करता है। मैं नोड 4.4.4 और क्रोम चला रहा हूं और यह वही कम या ज्यादा व्यवहार करता है।TypedArray और ArrayBuffers (नोड/क्रोम) पर ऑब्जेक्ट.फ्रीज़() अपेक्षित काम नहीं कर रहे हैं
var typedArray = new Uint32Array(4);
typedArray[0] = 10;
typedArray[1] = 20;
Object.freeze(typedArray);
// throws TypeError : Cannot freeze array buffer views with elements(...)
अगले बात मैं कोशिश की है अंतर्निहित ArrayBuffer फ्रीज करने के लिए है
Object.freeze(typedArray.buffer); // Does not throws errors
Object.isFrozen(typedArray.buffer); // returns true
typedArray[0] = 50; // Successfully modifies the data, despite the buffer is frozen
मुझे पता है कि मैं अपने डिजाइन बदल सकते हैं मूल बफर नहीं रखने के लिए, और डेटा के सदस्यों से यह फिर से संगठित एक बार मैं जरूरत है। लेकिन मैं इस व्यवहार के बारे में सिर्फ उत्सुक हूँ।
धन्यवाद