ECMAScript 7 özelliğini ( MDN Referansı ) a**b
için bir alternatif olarak yeni keşfettim ve bu yazıda görünüşe göre farklı davrandıkları bir tartışmaya rastladım . Chrome 55'te test ettim ve sonuçların farklı olduğunu doğrulayabilirim.Math.pow(a,b)
Math.pow(99,99)
İadeler 3.697296376497263e+197
buna karşılık
99**99
İadeler 3.697296376497268e+197
Yani farkın günlüğe kaydedilmesi Math.pow(99,99) - 99**99
sonuçlanır -5.311379928167671e+182
.
Şimdiye kadar sadece başka bir uygulama olduğu söylenebilir, ancak onu bir fonksiyona sarmak yine farklı davranır:
function diff(x) {
return Math.pow(x,x) - x**x;
}
arama diff(99)
dönüşleri 0
.
Bu neden oluyor?
Xszaboj'un belirttiği gibi , bu, şu soruna indirgenebilir:
var x = 99;
x**x - 99**99; // Returns -5.311379928167671e+182
`likethis`
okunabilir hale getirmek ve ayrıca kalın / italik problemden kaçınmak için ters işaretlere koydu