की उम्मीद नहीं करता है जेएसलिंट जोर देकर कहते हैं कि नीचे दिए गए उदाहरण में exotic tilde operator का मेरा उपयोग अप्रत्याशित है। मैं क्या सोच रहा हूं कि यह जेएसलिंट की सीमा है? या सख्त मोड? या मैं और क्या याद कर रहा हूँ?जेएसलिंट मेरे tildes
(function() {
'use strict';
if (~'foo'.indexOf('bar')) {
return 'wild accusations';
}
}());
इसके अलावा, मुझे नीचे के अधिक जटिल उदाहरण के बजाय सरल दिखने वाले टिल्डे ऑपरेटर का उपयोग क्यों नहीं करना चाहिए? निश्चित रूप से एक अच्छा कारण नहीं होना चाहिए?
if ('foo'.indexOf('bar') >= 0) { … }
अरे तहत सक्षम कर सकते हैं, कि कुछ मुझे नहीं पता था है। – MrBoJangles
आपको 'टोलरेट बिटवाई ऑपरेटर' ('~' थोड़ा सा ऑपरेटर है) सक्षम करना होगा। इसका उपयोग न करने का एक कारण: मुझे नहीं लगता कि यह आमतौर पर उपयोग किया जाता है और समझना मुश्किल होता है (लेकिन यह सिर्फ मुझे हो सकता है)। इसे न केवल ऑपरेटर की समझ की आवश्यकता होती है, बल्कि संख्या * प्रतिनिधित्व *, यानी '-1' को '1'' पर सेट की गई सभी बिट्स के साथ दर्शाया जाता है (और इसलिए पूरक' 0' -> 'false' है) । –
इसलिए ~ ~ bitwise नहीं है, और जेएस 0-> सही! 0-> गलत, और केवल ~ -1-> 0 ... चालाक –