Kesetaraan String di JavaScript – Cara Membandingkan String di JS

Kesetaraan String di JavaScript – Cara Membandingkan String di JS - Saat menulis kode atau membuat solusi, Anda mungkin perlu membandingkan dua string

 Best Koding.comKesetaraan String di JavaScript – Cara Membandingkan String di JS - Saat menulis kode atau membuat solusi, Anda mungkin perlu membandingkan dua string untuk melihat apakah keduanya sama sebelum melanjutkan dengan operasi.

Misalnya, saat pengguna masuk, Anda ingin membandingkan nama pengguna yang diberikan dengan yang ada di database Anda untuk melihat apakah cocok.

Kesetaraan String di JavaScript – Cara Membandingkan String di JS
Kesetaraan String di JavaScript – Cara Membandingkan String di JS

Dalam JavaScript, Anda dapat membandingkan string berdasarkan nilainya, panjang, kapitalisasi karakter, dan banyak lagi. Pada artikel ini, Anda akan mempelajari cara membandingkan string dalam JavaScript.

Table of Contents

Cara Membandingkan String di JavaScript Dengan Strict Equality Operator


Kesetaraan ketat, atau tiga persamaan ( ===) seperti yang disiratkan oleh simbolnya, adalah perbandingan yang lebih rinci daripada persamaan longgar ( ==). Itu tidak hanya memeriksa apakah nilainya sama, tetapi juga memeriksa operan:
let a = 12;
let b = '12';

// Loose Equality
console.log(a == b); // true
// Strict Equality
console.log(a === b); // false

Operator strict paling baik digunakan untuk membandingkan string dalam JavaScript karena memeriksa untuk memastikan bahwa operan dan nilai sama dan kemudian mengembalikan hasil boolean.

let string1 = "freeCodeCamp";

console.log(string1 === "codeCamp"); // false
console.log(string1 === "freeCodeCamp"); // true
console.log("codeCamp" === "freeCodeCamp"); // false

Anda juga dapat langsung membandingkan string dengan variabel dan string dengan string jika diinginkan:

Cara Melakukan Perbandingan Case Insensitive

Saat membandingkan dengan operator persamaan ketat, penting untuk diketahui bahwa perbandingan ini peka huruf besar-kecil. Artinya freeCodeCamp tidak sama dengan FreeCodeCamp karena huruf pertama f adalah huruf kecil untuk yang satu dan huruf besar untuk yang lainnya.

console.log("freeCodeCamp" === "FreeCodeCamp"); // false

Untuk menghindari situasi seperti ini, Anda dapat melakukan perbandingan case-insensitive. Ini berarti Anda mengonversi string yang Anda bandingkan dengan kasus yang sama:

let string1 = "freeCodeCamp";
let string2 = "FreeCodeCamp";

console.log(string1.toLowerCase() == string2.toLowerCase()); // true
console.log(string1.toUpperCase() == string2.toUpperCase()); // true

Cara Membandingkan String di JavaScript dengan .lengthProperty

Dalam JavaScript, saat Anda melampirkan .length properti ke variabel, ia mengembalikan panjang string:

let string1 = "freeCodeCamp";

console.log(string1.length); // 12

Ini berarti Anda dapat menggunakan properti length untuk membandingkan di samping persamaan (longgar atau ketat), lebih besar dari (>), atau kurang dari (operator) untuk memeriksa apakah kedua panjangnya sama atau jika salah satu lebih panjang dari yang lain.

let string1 = "freeCodeCamp";
let string2 = "codeCamp";

console.log(string1.length > string2.length); // true
console.log(string1.length < string2.length); // false
console.log(string1.length == string2.length); // false
console.log(string1.length === string2.length); // false

Cara Membandingkan String di JavaScript Dengan localeCompare() Metode

Metode localeCompare() ini dapat membandingkan string berdasarkan lokal saat ini di pengaturan browser.

Metode ini bisa sangat rumit, tetapi penting untuk diketahui bahwa metode ini membandingkan setiap karakter dari kedua string dan mengembalikan angka yang dapat berupa "-1", "1", atau "0".

  • -1: String sisi kiri menurut abjad muncul sebelum string sisi kanan.
  • 1: String sisi kiri menurut abjad muncul setelah string sisi kanan.
  • 0: Ini berarti kedua string sama.
let string1 = "freeCodeCamp";
let string2 = "codeCamp";

console.log(string1.localeCompare(string2)); // 1

Ini mengembalikan "1" karena "f" muncul setelah "c" dalam perbandingan karakter pertama.

let string1 = "freeCodeCamp";
let string2 = "codeCamp";

console.log(string2.localeCompare(string1)); // -1


Ini sekarang mengembalikan "-1" karena "c" yang merupakan karakter pertama string2 di sisi kiri muncul sebelum "f". Ketika kedua string sama, ia mengembalikan "0" terlepas dari posisinya:

let string1 = "freeCodeCamp";
let string2 = "freeCodeCamp";

console.log(string2.localeCompare(string1)); // 0

Cara Melakukan Perbandingan Case Insensitive

Penting juga untuk menyadari bahwa ketika Anda menggunakan metode localeCompare() ini, peka terhadap huruf besar-kecil. Ini berarti bahwa itu akan mengembalikan "1" atau "-1" tergantung pada posisinya, meskipun kedua string sama tetapi dengan case yang berbeda:

let string1 = "freeCodeCamp";
let string2 = "FreeCodeCamp";

console.log(string2.localeCompare(string1)); // 1

Anda dapat memperbaikinya dengan memperkenalkan opsi dan lokal ke localeCompare() metode. Metode ini memungkinkan Anda menyetel lokal dan juga opsi yang dapat Anda gunakan untuk mengonversi kedua string ke kasus serupa, sehingga Anda melakukan perbandingan yang tidak sensitif huruf.

let string1 = "freeCodeCamp";
let string2 = "FreeCodeCamp";

console.log(string2.localeCompare(string1, "en", { sensitivity: "base" })); // 0

Anda dapat membaca selengkapnya tentang metode localeCompare() di dokumentasi MDN.

Penutup

Pada artikel ini, Anda telah mempelajari cara membandingkan string dalam JavaScript menggunakan operator persamaan dan localeCompare() metode. Jangan ragu untuk menggunakan metode pilihan Anda, tetapi Anda sebaiknya menggunakan sebagian besar localeCompare() ketika perbandingan melibatkan lokal dan beberapa perbandingan spesifik yang melibatkan lokal. Selamat bersenang-senang membuat kode!