পারফরম্যান্স আনতে কিছু মশলা যোগ করতে। এই থ্রেড বেলো পরীক্ষা করুন
https://github.com/googleapis/google-api-nodejs-client/issues/375
মুছে ফেলা অপারেটরের ব্যবহারের ভি 8 লুকানো শ্রেণির ধাঁচের জন্য পারফরম্যান্স নেতিবাচক প্রভাব রয়েছে। সাধারণত এটি ব্যবহার করবেন না এটি প্রস্তাবিত।
বিকল্পভাবে, অবজেক্টের নিজস্ব অগণিত বৈশিষ্ট্যগুলি সরিয়ে ফেলতে, আমরা সেই বৈশিষ্ট্যগুলি ছাড়াই একটি নতুন অবজেক্ট কপি তৈরি করতে পারি (উদাহরণস্বরূপ লোডাশ ব্যবহার করে):
_.মিট (ও, 'প্রপ', 'প্রোপ ২')
অথবা সম্পত্তি মানটি নাল বা অপরিজ্ঞাত হিসাবে সংজ্ঞায়িত করুন (যা জেএসএন-তে সিরিয়ালাইজ করার সময় স্পষ্টভাবে উপেক্ষা করা হয়):
o.prop = অপরিবর্তিত
আপনি খুব ধ্বংসাত্মক উপায় ব্যবহার করতে পারেন
const {remov1, remov2, ...new} = old;
old = new;
এবং আরও বাস্তব উদাহরণ:
this._volumes[this._minCandle] = undefined;
{
const {[this._minCandle]: remove, ...rest} = this._volumes;
this._volumes = rest;
}
আপনি দেখতে পাচ্ছেন যে আপনি [somePropsVarForDynamicName]: scopeVarName
গতিশীল নামের জন্য সিনট্যাক্স ব্যবহার করতে পারেন । এবং আপনি সমস্ত ব্র্যাকেটগুলিতে রাখতে পারেন (নতুন ব্লক) যাতে বাকিগুলি আবর্জনার পরে সংগ্রহ করা হবে।
এখানে একটি পরীক্ষা:
এক্সিকিউট:
অথবা আমরা যেমন কিছু ফাংশন সঙ্গে যেতে পারেন
function deleteProps(obj, props) {
if (!Array.isArray(props)) props = [props];
return Object.keys(obj).reduce((newObj, prop) => {
if (!props.includes(prop)) {
newObj[prop] = obj[prop];
}
return newObj;
}, {});
}
প্রকারলিপি জন্য
function deleteProps(obj: Object, props: string[]) {
if (!Array.isArray(props)) props = [props];
return Object.keys(obj).reduce((newObj, prop) => {
if (!props.includes(prop)) {
newObj[prop] = obj[prop];
}
return newObj;
}, {});
}
ব্যবহার:
let a = {propH: 'hi', propB: 'bye', propO: 'ok'};
a = deleteProps(a, 'propB');
a = deleteProps(a, ['propB', 'propO']);
এইভাবে একটি নতুন অবজেক্ট তৈরি করা হয়। এবং অবজেক্টের দ্রুত সম্পত্তি রাখা হয়। যা গুরুত্বপূর্ণ বা বিষয় হতে পারে। যদি ম্যাপিং এবং অবজেক্টটি বহুবার অ্যাক্সেস করা হবে।
এছাড়াও মেলামেশা undefined
করা ভালভাবে চলতে পারে। যখন আপনি এটি সামর্থ্য করতে পারেন। এবং কীগুলির জন্য আপনি মানটিও পরীক্ষা করতে পারেন। উদাহরণস্বরূপ, সমস্ত সক্রিয় কীগুলি পেতে আপনি যেমন কিছু করেন:
const allActiveKeys = Object.keys(myObj).filter(k => myObj[k] !== undefined);
const allActiveKeys = Object.keys(myObj).filter(k => myObj[k]);
অপরিজ্ঞাত বড় তালিকার জন্য উপযুক্ত না যদিও। বা সময়ের সাথে সাথে অনেকগুলি প্রপস আসবে বিকাশ As মেমরির ব্যবহারটি বাড়তে থাকবে এবং কখনই পরিষ্কার হবে না। সুতরাং এটি ব্যবহারের উপর নির্ভর করে। এবং কেবল একটি নতুন অবজেক্ট তৈরি করা ভাল উপায় বলে মনে হচ্ছে।
তারপরে Premature optimization is the root of all evil
ইচ্ছামত প্রবেশ করবে So সুতরাং আপনার ব্যবসায়ের বিষয়ে সচেতন হওয়া দরকার। এবং কি প্রয়োজন এবং কি না।
লোডাশ থেকে _.omit () সম্পর্কে নোট করুন
এটি সংস্করণ 5 থেকে সরানো হয়েছে আপনি রেপোতে এটি খুঁজে পাচ্ছেন না। এবং এখানে একটি বিষয় যা এটি সম্পর্কে কথা।
https://github.com/lodash/lodash/issues/2930
ভি 8
আপনি এটি দেখতে পারেন যা ভাল পঠনযোগ্য https://v8.dev/blog/fast-properties