আমি সবেমাত্র ( এমডিএন রেফারেন্স ) a**b
বিকল্প হিসাবে ECMAScript 7 বৈশিষ্ট্যটি আবিষ্কার করেছি এবং সেই পোস্টে একটি আলোচনার মুখোমুখি হয়েছি , যাতে তারা দৃশ্যত আলাদাভাবে আচরণ করে। আমি এটি ক্রোম 55 তে পরীক্ষা করেছি এবং নিশ্চিত করতে পারি যে ফলাফলগুলি পৃথক।Math.pow(a,b)
Math.pow(99,99)
আয় 3.697296376497263e+197
যেহেতু
99**99
আয় 3.697296376497268e+197
সুতরাং পার্থক্য Math.pow(99,99) - 99**99
ফলাফল লগ ইন -5.311379928167671e+182
।
এখনও অবধি এটি বলা যেতে পারে যে এটি কেবল অন্য একটি বাস্তবায়ন, তবে এটি কোনও ফাংশনে মুড়িয়ে ফেলা আবার আলাদা আচরণ করে:
function diff(x) {
return Math.pow(x,x) - x**x;
}
কলিং diff(99)
রিটার্ন 0
।
কেন এমন হচ্ছে?
এক্সসাবোজ যেমন উল্লেখ করেছেন, এটি এই সমস্যার সংকীর্ণ হতে পারে:
var x = 99;
x**x - 99**99; // Returns -5.311379928167671e+182
`likethis`
এটিকে পাঠযোগ্য ও বোল্ড / ইটালিক সমস্যা এড়াতে কোডটি ব্যাকটিকগুলিতে