Blog

Sizi Usta kimi görməyə vadar edəcək 13 JavaScript texnikası

28.02.2022

23

JavaScript heyrətamiz şeylər edə bilər! Mürəkkəb sistemlərdən tutmuş API-lərin qayğısına qalmağa qədər öyrənmək üçün çox şey var. Bununla yanaşı, bu, ədalətli bir xəttdən istifadə edərək bir neçə möhtəşəm şeylər etmək imkanı verir.
Sizi Usta kimi görməyə vadar edəcək bu 13 JavaScript texnikasına baxın!


1. Təsadüfi boolean əldə edin (doğru/yanlış)

Bu funksiya Math.random() metodundan istifadə edərək boolean (doğru və ya yanlış) qaytaracaq. Math.random 0 ilə 1 arasında təsadüfi bir ədəd yaradacaq, bundan sonra onun 0,5-dən yuxarı və ya aşağı olduğunu yoxlayırıq. Bu o deməkdir ki, doğru və ya yalanı əldə etmək üçün 50%/50% şans var


const randomBoolean = () => Math.random() >= 0.5;
console.log(randomBoolean());
// Nəticə: yalanın doğru qaytarılmasında 50/50 dəyişiklik


2. Təqdim olunan günün həftə içi olub olmadığını yoxlayın

Bu üsuldan istifadə edərək, funksiyada göstərdiyiniz tarixin həftə içi və ya həftə sonu olduğunu yoxlaya biləcəksiniz.


const isWeekday = (date) => date.getDay() % 6 !== 0;
console.log(isWeekday(new Date(2021, 0, 11)));
// Result: true (Monday)
console.log(isWeekday(new Date(2021, 0, 10)));
// Result: false (Sunday)


3. Sətri tərsinə çevirin

Bir simi geri çevirməyin bir neçə fərqli yolu var. Bu, split(), reverse() və join() metodlarından istifadə edən ən sadə üsullardan biridir.


const reverse = str => str.split('').reverse().join('');
reverse('hello world');     
// Result: 'dlrow olleh'


4. Cari nişanın görünüşdə/fokusda olub olmadığını yoxlayın

Sənəd.hidden xassəsindən istifadə etməklə cari tabın görünüşdə/fokusda olub olmadığını yoxlaya bilərik.


const isBrowserTabInView = () => document.hidden;
isBrowserTabInView();
// Result: returns true or false depending on if tab is in view / focus


5. Ədədin cüt və ya tək olduğunu yoxlayın

Modul operatorundan (%) istifadə etməklə həll edilə bilən super sadə tapşırıq.


const isEven = num => num % 2 === 0;
console.log(isEven(2));
// Result: true
console.log(isEven(3));
// Result: false


6. Tarixdən vaxtı alın

.toTimeString() metodundan istifadə etməklə və sətri düzgün yerdə kəsməklə, biz təqdim etdiyimiz tarixdən vaxtı əldə edə və ya cari vaxtı əldə edə bilərik.


const timeFromDate = date => date.toTimeString().slice(0, 8);
console.log(timeFromDate(new Date(2021, 0, 10, 17, 30, 0))); 
// Result: "17:30:00"
console.log(timeFromDate(new Date()));
// Result: will log the current time


7. Ədədi sabit onluq nöqtəyə qədər kəsin

Math.pow() metodundan istifadə edərək, biz funksiyada verdiyimiz müəyyən onluq nöqtəyə qədər ədədi kəsə bilərik.


const toFixed = (n, fixed) => ~~(Math.pow(10, fixed) * n) / Math.pow(10, fixed);
// Examples
toFixed(25.198726354, 1);       // 25.1
toFixed(25.198726354, 2);       // 25.19
toFixed(25.198726354, 3);       // 25.198
toFixed(25.198726354, 4);       // 25.1987
toFixed(25.198726354, 5);       // 25.19872
toFixed(25.198726354, 6);       // 25.198726


8. Elementin hazırda fokusda olub olmadığını yoxlayın

Biz document.activeElement xassəsindən istifadə edərək elementin hazırda fokusda olub-olmadığını yoxlaya bilərik.


const elementIsInFocus = (el) => (el === document.activeElement);
elementIsInFocus(anyElement)
// Result: will return true if in focus, false if not in focus


9. Cari istifadəçinin toxunma hadisələrinin dəstəkləndiyini yoxlayın


const touchSupported = () => {
  ('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch);
}
console.log(touchSupported());
// Result: will return true if touch events are supported, false if not


10. Cari istifadəçinin Apple cihazında olub olmadığını yoxlayın

Cari istifadəçinin Apple cihazında olub-olmadığını yoxlamaq üçün navigator.platform-dan istifadə edə bilərik.


const isAppleDevice = /Mac|iPod|iPhone|iPad/.test(navigator.platform);
console.log(isAppleDevice);
// Result: will return true if user is on an Apple device


11. Səhifənin yuxarısına sürüşdürün

window.scrollTo() metodu sürüşdürmək üçün x və y koordinatlarını alacaq. Bunları sıfıra və sıfıra təyin etsək, səhifənin yuxarısına keçəcəyik.

Qeyd: .scrollTo() metodu Internet Explorer-də dəstəklənmir.

const goToTop = () => window.scrollTo(0, 0);
goToTop();
// Result: will scroll the browser to the top of the page


12. Arqumentlərin orta qiymətini alın

Bu funksiyada təqdim etdiyimiz arqumentlərin orta qiymətini almaq üçün azaltma metodundan istifadə edə bilərik.


const average = (...args) => args.reduce((a, b) => a + b) / args.length;
average(1, 2, 3, 4);
// Result: 2.5


13. Farenheit/Selsiyə çevirin

Sonuncu 2-in-1-dir!

Temperatur ilə məşğul olmaq bəzən çaşqın ola bilər. Bu 2 funksiya Farenheiti Selsiyə və əksinə çevirməyinizə kömək edəcək.


const celsiusToFahrenheit = (celsius) => celsius * 9/5 + 32;
const fahrenheitToCelsius = (fahrenheit) => (fahrenheit - 32) * 5/9;
// Examples
celsiusToFahrenheit(15);    // 59
celsiusToFahrenheit(0);     // 32
celsiusToFahrenheit(-20);   // -4
fahrenheitToCelsius(59);    // 15
fahrenheitToCelsius(32);    // 0