یک تابع جاوا اسکریپت بنویسید که ریشه دوم یک عدد را بدون هیچ کتابخانه ای محاسبه کند.
مطمئنا، در اینجا یک مثال آمده است:

```
function calculateSquareRoot(num) {
  if (num < 0) return NaN;
  if (num === 0) return 0;
  let x = num;
  while (true) {
    const new_x = (x + num / x) / 2;
    if (Math.abs(new_x - x) < 0.000001) return new_x;
    x = new_x;
  }
}
```

این تابع از روش بابلی برای محاسبه ریشه های دوم استفاده می کند، که یک روش تکراری است که به طور مکرر تخمین ریشه دوم را با استفاده از فرمول زیر بهبود می بخشد: `x_(n+1) = (x_n + num / x_n) / 2`. حلقه تا زمانی که تفاوت بین تخمین فعلی و تخمین قبلی کمتر از یک اپسیلون کوچک (در این مورد، `0.000001`) باشد، ادامه می یابد.