আমি এই বাক্য গঠনটি অন্য স্ট্যাকওভারফ্লো পোস্টে দেখেছি এবং এটি কী করে তা সম্পর্কে আগ্রহী ছিল:
var len = this.length >>> 0;
কি >>>বোঝায়?
আমি এই বাক্য গঠনটি অন্য স্ট্যাকওভারফ্লো পোস্টে দেখেছি এবং এটি কী করে তা সম্পর্কে আগ্রহী ছিল:
var len = this.length >>> 0;
কি >>>বোঝায়?
>>>আপনি শূন্য বিটের সাহায্যে স্থানান্তরিত হয়েও সর্বদা সাইন বিটটি শূন্যে সেট করে।
>>>: অপারেটর stackoverflow.com/questions/3081987/...
var length = list.length >>> 0; /
উত্তর:
এটি একটি স্বাক্ষরবিহীন ডান শিফট অপারেটর । মজার ব্যাপার হচ্ছে, এটা শুধুমাত্র bitwise অপারেটর যে স্বাক্ষরবিহীন জাভাস্ক্রিপ্ট হবে।
>>> অপারেটর এক্সপ্রেশন 2-তে উল্লিখিত বিটের সংখ্যা দ্বারা এক্সপ্রেশন 1 এর বিটগুলি ঠিক স্থানান্তর করে। বাম দিক থেকে জিরোগুলি পূরণ করা হয়। ডানদিকে সরানো অঙ্কগুলি বাতিল করা হয়।
এর উদ্দেশ্যযুক্ত অর্থ উপেক্ষা করা, এটি সম্ভবত এটি যেখানে আপনি ব্যবহার করেছেন তা দেখতে পাবেন:
>>> 0 এটি অনন্য যে এটি কেবলমাত্র অপারেটর যে কোনও প্রকারকে ধনাত্মক পূর্ণসংখ্যায় রূপান্তরিত করবে:
"string" >>> 0 == 0
(function() { }) >>> 0 == 0
[1, 2, 3] >>> 0 == 0
Math.PI >>> 0 == 3
আপনার উদাহরণে, var len = this.length >>> 0এটি পুনরাবৃত্তি করার জন্য পূর্ণসংখ্যার দৈর্ঘ্য পাওয়ার একটি উপায় this, যা-ই টাইপ যাই হোক না কেন this.length।
একইভাবে, ~~xকোনও ভেরিয়েবলকে একটি স্বাক্ষরিত পূর্ণসংখ্যায় রূপান্তর করতে ব্যবহার করা যেতে পারে।
এই অপারেটরটি একটি লজিকাল ডান শিফট। এখানে নম্বর 0 বিট স্থানান্তরিত হয়। গাণিতিকভাবে শূন্য বিটের একটি শিফ্টের কোনও প্রভাব থাকতে হবে না।
তবে এখানে মানটি স্বাক্ষরিত 32 বিট পূর্ণসংখ্যায় রূপান্তর করতে ব্যবহৃত হয়।
>>>হ'ল বিট-ওয়াইজ অপারেটর, শূন্য-পূরণের ডান শিফট ।
আমি মনে করি একমাত্র প্রভাব >>> 0একটি ধনাত্মক সংখ্যা একই হিসাবে নিকটতম পূর্ণসংখ্যা বৃত্তাকার নিচে, হয় Math.floor()। আপনার উদাহরণে কেন এটি প্রয়োজনীয় হবে তা আমি দেখতে পাচ্ছি না, কারণ সাধারণত একটি .lengthসম্পত্তি (যেমন একটি Array) ইতিমধ্যে একটি পূর্ণসংখ্যা হবে।
আমিও একটু খাটো দেখা করেছি ~~একই ভাবে ব্যবহৃত: ~~9.5 == 9; // true।
Math.abs()negativeণাত্মক সংখ্যার জন্য ব্যবহৃত হিসাবে একই ।
>>> 0কোনও নেতিবাচক সংখ্যায় করেন তবে এটি এটিকে 2 এর প্রশংসায় রূপান্তরিত করে, তারপর ডান শিফট করে। অতএব -14 >>> 0 == 1073741820। ( এমএসডিএন.মাইক্রোসফটকম /en-us/library/342xfs5s%28v=vs.94%29.aspx )
parseInt?