JavaScript Academy · Pelajaran

Waktu Relatif dan Bentuk Jamak

Gunakan RelativeTimeFormat dan PluralRules.

Pelajaran 3 dari 413 langkah

Waktu Relatif dan Bentuk Jamak adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 4 pelajaran total.

Intl.RelativeTimeFormat

Intl.RelativeTimeFormat menghasilkan frasa seperti "3 hari yang lalu" atau "dalam 2 jam" dalam bahasa pengguna.

const rtf = new Intl.RelativeTimeFormat("en-US");
console.log(rtf.format(-1, "day")); // "1 day ago"
console.log(rtf.format(2, "hour"));  // "in 2 hours"

Negatif untuk Masa Lalu, Positif untuk Masa Depan

Tanda pada angka menentukan arah: nilai negatif menunjukkan masa lalu, sedangkan nilai positif menunjukkan masa depan.

const rtf = new Intl.RelativeTimeFormat("en-US");
console.log(rtf.format(-3, "week")); // "3 weeks ago"
console.log(rtf.format(5, "minute")); // "in 5 minutes"

Opsi Numerik

numeric: "auto" menggunakan kata-kata idiomatis seperti "kemarin" atau "besok", bukan "1 hari yang lalu".

const rtf = new Intl.RelativeTimeFormat("en-US", { numeric: "auto" });
console.log(rtf.format(-1, "day")); // "yesterday"
console.log(rtf.format(0, "day"));  // "today"

Waktu Relatif Terlokalkan

Mengganti lokal akan menerjemahkan seluruh frasa secara otomatis.

console.log(new Intl.RelativeTimeFormat("es").format(-2, "day")); // "hace 2 dias"
console.log(new Intl.RelativeTimeFormat("fr").format(3, "hour")); // "dans 3 heures"

Memilih Satuan yang Tepat

Aplikasi nyata memilih satuan terbesar yang masuk akal. Hitung selisih dalam detik, lalu turunkan satu per satu melalui berbagai satuan.

function ago(date) {
  const diff = (date - Date.now()) / 1000;
  const rtf = new Intl.RelativeTimeFormat("en-US", { numeric: "auto" });
  if (Math.abs(diff) < 60) return rtf.format(Math.round(diff), "second");
  if (Math.abs(diff) < 3600) return rtf.format(Math.round(diff / 60), "minute");
  return rtf.format(Math.round(diff / 3600), "hour");
}
console.log(ago(new Date(Date.now() - 90000)));

Intl.PluralRules

Pembentukan jamak bukan sekadar menambahkan "s". Intl.PluralRules memetakan angka ke kategori seperti "one" atau "other" sesuai bahasanya.

const pr = new Intl.PluralRules("en-US");
console.log(pr.select(1)); // "one"
console.log(pr.select(2)); // "other"
console.log(pr.select(0)); // "other"

Membangun Pesan Jamak

Gunakan kategori tersebut untuk memilih kata yang tepat.

const pr = new Intl.PluralRules("en-US");
const forms = { one: "item", other: "items" };
function label(n) { return n + " " + forms[pr.select(n)]; }
console.log(label(1)); // "1 item"
console.log(label(5)); // "5 items"

Bahasa dengan Lebih Banyak Bentuk

Banyak bahasa memiliki beberapa kategori jamak. Bahasa Polandia, misalnya, membedakan "few" dan "many" — logika bahasa Inggris yang ditulis secara tetap akan menghasilkan kesalahan.

const pr = new Intl.PluralRules("pl");
console.log(pr.select(1)); // "one"
console.log(pr.select(3)); // "few"
console.log(pr.select(5)); // "many"

Bentuk Jamak Ordinal

Berikan type: "ordinal" untuk mendapatkan kategori bagi bilangan bertingkat seperti ke-1, ke-2, dan ke-3.

const pr = new Intl.PluralRules("en-US", { type: "ordinal" });
const suffix = { one: "st", two: "nd", few: "rd", other: "th" };
function ordinal(n) { return n + suffix[pr.select(n)]; }
console.log(ordinal(1), ordinal(2), ordinal(3), ordinal(11)); // 1st 2nd 3rd 11th

Menggabungkan dengan Angka

Pasangkan PluralRules dengan NumberFormat untuk menghasilkan pesan jumlah yang sepenuhnya sesuai lokal.

const nf = new Intl.NumberFormat("en-US");
const pr = new Intl.PluralRules("en-US");
const forms = { one: "file", other: "files" };
function msg(n) { return nf.format(n) + " " + forms[pr.select(n)]; }
console.log(msg(1000)); // "1,000 files"

Intl.ListFormat

Sebagai tambahan, Intl.ListFormat menggabungkan elemen dengan kata penghubung yang sesuai lokal.

const lf = new Intl.ListFormat("en-US", { type: "conjunction" });
console.log(lf.format(["red", "green", "blue"])); // "red, green, and blue"

Uji Cepat

Uji waktu relatif dan bentuk jamak.

Rangkuman: Waktu Relatif dan Bentuk Jamak

Anda memformat waktu relatif dengan RelativeTimeFormat (termasuk numeric: "auto"), memilih batas satuan, membentuk jamak dengan benar menggunakan PluralRules untuk berbagai bahasa dan bilangan bertingkat, serta menggabungkan daftar dengan ListFormat. Berikutnya: pengurutan sesuai lokal.

Gratis untuk memulai

Belajar JavaScript dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
59
Pelajaran
200

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Waktu Relatif dan Bentuk Jamak” gratis?

Ya — teks lengkap “Waktu Relatif dan Bentuk Jamak” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Waktu Relatif dan Bentuk Jamak”?

Gunakan RelativeTimeFormat dan PluralRules. Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai JavaScript Academy?

Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Waktu Relatif dan Bentuk Jamak” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?

Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memformat Angka dan Mata Uang
  2. Memformat Tanggal dan Waktu
  3. Waktu Relatif dan Bentuk Jamak
  4. Pengurutan Sesuai Lokal
← Kembali ke JavaScript Academy