Podstawowe operacje matematyczne

TIP: Cały kod do poszczególnych lekcji, dodatkową teorię i linki z tej i innych lekcji - znajdziesz w darmowym repozytorium - https://github.com/jaktestowac/typescript-dla-testera Chcesz dokładniej poznać TypeScript? Sprawdź nasz Program JavaScript i TypeScript dla Testerów

Dodatkowe materiały

Najważniejsze tematy w tej lekcji:

  • Operatory: +, -, *, /, %.
  • Kolejność działań i użycie nawiasów dla czytelności.
  • Zaokrąglanie i konwersje (np. z tekstu na liczbę), różnice + dla string vs number.
  • Inkrementacja/dekrementacja: ++, -- (prefiks vs postfiks).
TIP: Do wylosowania liczby całkowitej z podanego zakresu użyj Math.floor(Math.random() * (max - min + 1)) + min.
Czyli:

let min = 1;
let max = 10;
let randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;
TIP: Inkrementacja ++ i dekrementacja -- mogą być używane w formie prefiksowej (np. ++i) lub postfiksowej (np. i++).

Różnią się one kolejnością wykonywania operacji!

  • Prefiks (++i): zwiększa wartość przed użyciem.
  • Postfiks (i++): używa wartości przed zwiększeniem.

Przykład 1:

    let i = 5;
    console.log(++i); // 6
    console.log(i); // 6
    console.log(i++); // 6
    console.log(i); // 7
    

Przykład 2:

    let i = 5;
    console.log(--i); // 4
    console.log(i); // 4
    console.log(i--); // 4
    console.log(i); // 3
    

Linki zewnętrzne

7 komentarzy

  1. Cześć! Skoro poruszamy “modul aka reszta z dzielenia”, przykładowo a % b,
    to dla uzupełnienia jeszcze operator dzielenia bez reszty, przykładowo a // b

    I przy okazji: operator potęgowania ( a ** b ) można stosować też dla niecałkowitych wykładników. Dzięki temu by wyciągnąć pierwiastek kwadratowy, zamiast łamać palce wpisując Math.sqrt(a) możemy napisać a ** 0.5

    Avatar Dominik Witkiewicz
    1. Hej,
      Słuszna uwaga 😀 Mamy w JS i TS kilka skróconych zapisów operacji matematycznych zeby nie używać modułu math 🙂

      – Reszta z dzielenia – modulo (%)

      10 % 3 // 1
      

      – Potęgowanie (**)

      2 ** 3 // 8
      

      – Pierwiastek kwadratowy (przez potęgowanie)

      9 ** 0.5 // 3
      

      – Pierwiastek sześcienny

      27 ** (1/3) // 3
      

      – Dzielenie całkowite (bez reszty – przez zaokrąglenie w dół)

      Math.floor(10 / 3) // 3
      

      Natomiast nie mamy tutaj operatora // bo jest to zarezerwowane na komentarz 🙂

  2. Hej hej,
    Fajny moduł from scratch TS jak zwykle wysokiej jakości – super – a odpowiadając na pytanie z tej lekcji ja użyawam i najbardziej czytelny jest dla mnie sposób i chyba najmniej czasochłonny z backtickami wprowadzony w ES6 “ 🙂

    Pozdrawiam i spokojności życzę 🙂

    Avatar Jakub Kruszyński
        1. Dzięki! 😀 Backticki są mega wygodne i upraszczają bardziej złożone wiadomości – jednak tez się zgodzę z tym co piszesz, ze warto korzystać z tego, co w danym momencie jest najwygodniejsze czyli z np console.log(‘value', val); 😉

          Krzysiek Kijas Krzysiek Kijas

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *