Nilai dan console.log
console.log(2 + 3) mencetak 5, tetapi console.log("2 + 3") mencetak 2 + 3: tanda kutip menentukan apakah JavaScript menghitung atau menyalin.
Semua yang diolah program adalah nilai
Program memindah-mindahkan data: harga, nama, skor, jawaban atas pertanyaan ya-atau-tidak. Setiap potongan data disebut nilai. Angka 42 adalah nilai, teks "Seoul" adalah nilai, begitu juga jawaban true. Setiap nilai punya tipe, yang memberi tahu JavaScript jenis benda apa itu dan apa yang bisa dilakukan dengannya. Kamu bisa mengalikan dua angka, tetapi mengalikan dua nama tidak masuk akal, jadi JavaScript perlu tahu mana yang mana.
Tipe-tipe dasar
| Tipe | Contoh | Dipakai untuk |
|---|---|---|
| number | 42, 3.5, -7 | Menghitung, mengukur, uang |
| string | "cat", 'Hello', "42" | Teks jenis apa pun |
| boolean | true, false | Jawaban ya atau tidak |
| undefined | undefined | Nilai yang belum diisi |
| null | null | Sengaja dikosongkan |
JavaScript hanya punya satu tipe angka untuk bilangan bulat maupun desimal, jadi 7 dan 7.5 sama-sama number. String adalah deretan karakter yang ditulis di antara tanda kutip; tanda kutip tunggal dan ganda sama-sama bisa dipakai asalkan kedua ujungnya cocok. Boolean hanya punya dua kemungkinan nilai, true dan false, ditulis tanpa tanda kutip. Dua yang terakhir, undefined dan null, sama-sama berarti "tidak ada apa-apa di sini," dan kamu akan bertemu lagi dengannya saat sebuah variabel belum diberi nilai. Standar ECMAScript juga mendefinisikan BigInt dan Symbol, yang tidak diperlukan dalam kursus ini.
Tanda kutip mengubah tipe
Nilai 42 dan nilai "42" terlihat sama saat dicetak, tetapi tipenya berbeda. Yang pertama adalah angka yang bisa dipakai berhitung. Yang kedua adalah string yang terdiri atas karakter 4 dan 2. Operator typeof memberi tahu tipe nilai apa pun, dan ini cara cepat untuk memeriksa apa yang sedang kamu pegang:
console.log(typeof 42); // number (angka)
console.log(typeof "42"); // string (teks)
console.log(typeof true); // boolean (benar/salah)
console.log(typeof "true"); // string (teks)Hal yang sama terjadi pada perhitungan. Tanpa tanda kutip, JavaScript menghitung ekspresinya lebih dulu lalu mencetak hasilnya. Dengan tanda kutip, karakter-karakternya adalah teks dan dicetak persis seperti diketik:
console.log(2 + 3); // 5
console.log("2 + 3"); // 2 + 3 (ini teks)Potongan kode yang menghasilkan nilai, seperti 2 + 3 atau typeof 42, disebut ekspresi. Setiap kali JavaScript bertemu ekspresi, ia mengevaluasinya, artinya meringkasnya menjadi satu nilai, lalu memakai nilai itu. Dalam console.log(2 + 3), ekspresi itu dievaluasi menjadi 5 sebelum console.log sempat melihatnya.
Mencetak beberapa nilai sekaligus
console.log menerima lebih dari satu nilai. Pisahkan dengan koma, maka nilai-nilai itu dicetak dalam satu baris dengan satu spasi di antara masing-masing:
console.log("Age:", 30); // Age: 30
console.log("Sum:", 4 + 5, "units"); // Sum: 9 units (satu baris saja)Ini cara termudah memberi label pada keluaranmu selagi bekerja. Mencetak nilai dengan label, seperti "Sum:" di atas, adalah cara programmer memeriksa apa yang dilakukan program di setiap langkah. Saat sesuatu berperilaku aneh, langkah pertama yang biasa dilakukan adalah menambahkan console.log lalu melihat hasilnya.
Contoh soal
Contoh 1. console.log(10 - 4) mencetak 6, karena ekspresinya dievaluasi lebih dulu. Contoh 2. console.log("10 - 4") mencetak 10 - 4, karena itu string. Contoh 3. console.log(typeof "") mencetak string: dua tanda kutip tanpa isi di antaranya tetap membentuk string, yang disebut string kosong. Contoh 4. console.log(typeof 3.0) mencetak number; tidak ada tipe tersendiri untuk desimal.
| nilai | Satu potongan data: 42, "cat", true |
| tipe | Jenis nilai: number, string, boolean, dan seterusnya |
| number | Bilangan bulat dan desimal, satu tipe untuk keduanya |
| string | Teks yang ditulis di antara tanda kutip |
| boolean | true atau false, ditulis tanpa tanda kutip |
| ekspresi | Kode yang menghasilkan nilai, seperti 2 + 3 |
| typeof | Memberikan tipe sebuah nilai dalam bentuk string |
| string kosong | String tanpa karakter, ditulis "" |
- Apa yang dicetak kode ini?
console.log(6 * 7); - Apa yang dicetak kode ini?
console.log("6 * 7");- 42
- 6 * 7
- "6 * 7"
- Apa yang dicetak kode ini?
console.log(typeof 7.5); - Apa yang dicetak kode ini?
console.log(typeof "7.5"); - Apa yang dicetak kode ini?
console.log(typeof false); - Apa yang dicetak kode ini?
console.log("Total:", 3 + 4);- Total: 7
- Total:7
- Total: 3 + 4
- Mana di antara ini yang merupakan nilai boolean?
"true"true1
- Apa yang dicetak kode ini?
console.log(typeof ""); - Apa yang dicetak kode ini?
console.log(10 - 4, "10 - 4");- 6 6
- 6 10 - 4
- 10 - 4 10 - 4
- Mana yang merupakan string yang sah?
"hello''hello'hello
- Setiap potongan data adalah nilai, dan setiap nilai punya tipe.
- Tipe dasar: number, string, boolean, undefined, null.
- Tanda kutip membuat string; tanpa tanda kutip JavaScript mengevaluasi ekspresinya.
- typeof memberi tahu tipenya.
- console.log(a, b) mencetak kedua nilai dalam satu baris, dipisahkan spasi.
Sumber kursus ini (2)
- MDN Web Docs, JavaScript Guide (developer.mozilla.org/en-US/docs/Web/JavaScript/Guide, chapters Introduction, Grammar and types, Control flow, Loops and iteration, Functions, Expressions and operators, Numbers and strings, Indexed collections, Working with objects; checked 2026-10-17)
- Ecma International, ECMA-262 ECMAScript 2026 Language Specification, 17th edition, June 2026 (tc39.es/ecma262 and ecma-international.org/publications-and-standards/standards/ecma-262, checked 2026-10-17)
Diperiksa: 2026-10-17