JSLint, aşağıdaki örnekte biraz exotic tilde operator kullanımımın beklenmedik olduğu konusunda ısrar ediyor. Merak ettiğim şey bunun bir JSLint sınırlaması olup olmadığıdır? veya sıkı mod? ya da başka neyi özlüyorum?JSLint, tildesimi beklemiyor
(function() {
'use strict';
if (~'foo'.indexOf('bar')) {
return 'wild accusations';
}
}());
Ayrıca, neden yerine aşağıda daha karmaşık bir örnek basit görünümlü tilde operatörünü kullanmak gerekmez mi? Şüphesiz, yapmamanız için iyi bir neden olmalı? JSLint Docs itibaren
if ('foo'.indexOf('bar') >= 0) { … }
Hey altında etkinleştirebilirsiniz. – MrBoJangles
'Tolerate bitly operatörleri' özelliğini etkinleştirmeniz gerekir ('~' bitsel operatördür). Bunu kullanmamanın bir nedeni: Bunun yaygın olarak kullanıldığını ve anlaşılması zor olduğunu düşünmüyorum (ama bu sadece benim olabilir). Bu sadece operatörün kendisinin değil, sayı * gösteriminin * anlaşılmasını da gerektirir, yani '-1', '1' olarak ayarlanmış tüm bitlerle temsil edilir (ve bu nedenle tamamlayıcı '0' -> false'). . –
Bu yüzden, ~ bit ve NOT: ve 0-> TRUE! 0-> FALSE, ve sadece ~ -1-> 0 ... zeki –