Dasar-dasar JavaScript
Artikel ini menjelaskan dasar-dasar JavaScript.
YouTube Video
Menjalankan Hello World!
Ikhtisar JavaScript
JavaScript adalah salah satu bahasa pemrograman yang paling banyak digunakan dalam pengembangan web. Ini terutama digunakan untuk menambahkan elemen dinamis ke halaman web, memungkinkan manipulasi antarmuka pengguna, transmisi data, dan pembuatan animasi. JavaScript dapat berjalan di sisi klien (di dalam browser) dan sisi server menggunakan teknologi seperti Node.js. Karena kesederhanaan dan fleksibilitasnya, JavaScript mudah dipelajari oleh pemula dan digunakan secara luas oleh pengembang profesional.
Variabel dalam JavaScript
Variabel dalam JavaScript seperti wadah yang digunakan untuk menyimpan dan menggunakan kembali data. Dengan menggunakan variabel, Anda dapat memelihara dan memanipulasi nilai dalam program Anda.
Deklarasi Variabel
Dalam JavaScript, ada tiga kata kunci untuk mendeklarasikan variabel.
var
: Metode lama untuk mendeklarasikan variabel, tetapi pengelolaan cakupannya rumit dan memerlukan kehati-hatian. Berdasarkan cakupan fungsi.
1var x = 10;
let
: Diperkenalkan dalam ES6, ini adalah cara untuk mendeklarasikan variabel dengan cakupan blok. Dapat diubah nilainya tetapi tidak dapat dideklarasikan ulang dalam cakupan yang sama.
1let y = 20;
const
: Digunakan untuk mendeklarasikan variabel yang tidak dapat diubah (konstanta). Memiliki cakupan blok dan tidak dapat diubah atau dideklarasikan ulang setelah deklarasi.
1const z = 30;
Cakupan
Variabel memiliki konsep cakupan.
Cakupan Global
1var globalVar = 'This is global'; // Global scope
2
3function accessGlobal() {
4 console.log(globalVar); // Able to access global variable
5}
6
7accessGlobal(); // Outputs "This is global"
- Variabel dengan Cakupan Global dapat diakses dari mana saja. Variabel yang dideklarasikan dengan
var
memiliki cakupan global atau fungsi, tetapilet
danconst
memiliki cakupan blok.
Cakupan Blok
1if (true) {
2 let localVar = "This is a block-scoped variable";
3
4 // Accessible inside the brackets
5 console.log(localVar);
6}
7
8// Error: localVar cannot be used outside of this scope
9console.log(localVar);
-
Cakupan Blok: Variabel yang dideklarasikan dengan
let
atauconst
hanya berlaku di dalam{}
(kurung kurawal). -
Terjadi kesalahan saat mengakses dari luar
{}
(kurung kurawal).
Cakupan Fungsi
1function myFunction() {
2 var functionScoped = 'This is function scope';
3 // Accessible inside the function
4 console.log(functionScoped);
5
6 if (true) {
7 var functionVar = 'This is also function scope';
8 }
9 // functionVar can be used inside of the fucntion
10 console.log(functionVar);
11}
12
13myFunction(); // Outputs "This is function scope"
14
15// Error: functionScoped is not defined
16console.log(functionScoped);
-
Cakupan Fungsi: Variabel dan fungsi yang didefinisikan di dalam fungsi tidak dapat diakses dari luar fungsi. Variabel yang dideklarasikan di dalam fungsi dengan
var
termasuk dalam cakupan ini. -
Dalam contoh ini, variabel
functionVar
dapat diakses dari luar{}
(kurung kurawal) selama masih berada dalam lingkup fungsi. Di sisi lain, mengakses variabelfunctionScoped
dari luar lingkup fungsi akan menghasilkan kesalahan.
Dengan demikian, variabel yang dideklarasikan dengan var hanya memiliki cakupan fungsi dan tidak memiliki cakupan blok, sehingga berisiko digunakan di luar cakupan yang diharapkan. Lebih baik menggunakan const untuk variabel yang tidak berubah dan biasanya menggunakan let, serta menghindari penggunaan var sebanyak mungkin.
Tipe Data
Variabel JavaScript dapat menyimpan nilai dari berbagai tipe data. Ada string
untuk menangani teks dan number
untuk menangani nilai numerik.
Tipe data utama adalah sebagai berikut:.
1// Number: Numeric type (integer and floating point number)
2let integerNumber = 42;
3let floatNumber = 3.14;
4console.log("Number (Integer):", integerNumber);
5console.log("Number (Float):", floatNumber);
6
7// String: String type
8let text = "Hello, JavaScript!";
9console.log("String:", text);
10
11// Boolean: Boolean type (true or false)
12let isJavaScriptFun = true;
13let isError = false;
14console.log("Boolean (true):", isJavaScriptFun);
15console.log("Boolean (false):", isError);
16
17// Null: Explicitly represents "nothing"
18let emptyValue = null;
19console.log("Null:", emptyValue);
20
21// Undefined: The default value assigned to an uninitialized variable
22let notDefined;
23console.log("Undefined:", notDefined);
24
25// Symbol: A data type for creating unique values
26let uniqueKey = Symbol("id");
27console.log("Symbol:", uniqueKey);
- Tipe Primitif:
number
: Menangani nilai numerik (bilangan bulat dan bilangan desimal).string
: Menangani deretan karakter.boolean
: Mengelola nilai booleantrue
ataufalse
.null
: Secara eksplisit merepresentasikan nilai 'tidak ada'.undefined
: Sebuah nilai yang secara otomatis diberikan pada variabel yang belum diinisialisasi.Symbol
: Tipe data yang digunakan untuk membuat nilai unik.
1// Object: A data structure that holds multiple properties
2let person = {
3 name: "Alice",
4 age: 25,
5 isStudent: false
6};
7console.log("Object:", person);
8console.log("Object Property (name):", person.name);
9console.log("Object Property (age):", person.age);
10
11// Array: A list that holds multiple values
12let numbers = [10, 20, 30, 40];
13console.log("Array:", numbers);
14console.log("Array Element (index 0):", numbers[0]);
15
16// Function: A function object
17function greet(name) {
18 return "Hello, " + name + "!";
19}
20console.log("Function Output:", greet("Bob"));
21
22// Another way to define a function using arrow syntax
23let add = (a, b) => a + b;
24console.log("Arrow Function Output (3 + 5):", add(3, 5));
- Jenis Objek:
Object
: Struktur data dengan beberapa properti.Array
: Sebuah daftar yang berisi beberapa nilai.Function
: Sebuah objek fungsi.
Penugasan dan Penugasan Ulang pada Variabel
Variabel yang dideklarasikan dengan let
atau var
dapat diubah nilainya, tetapi const
tidak dapat diubah setelah dideklarasikan.
1let score = 100;
2score = 150; // Correct
3
4const pi = 3.14;
5pi = 3.14159; // Error
Pengangkatan Variabel (Hoisting)
Dalam JavaScript, ada fenomena di mana deklarasi variabel 'diangkat' ke bagian atas cakupannya. Variabel yang dideklarasikan dengan var
diangkat, tetapi menggunakan let
atau const
sebelum deklarasi akan menyebabkan kesalahan.
1console.log(a); // undefined
2var a = 10;
3console.log(a); // 10
- Dalam kasus ini, variabel yang dideklarasikan dengan
var
akan diangkat (hoisted), dan nilainya akan dikeluarkan.
1console.log(b); // ReferenceError
2let b = 20;
- Variabel yang dideklarasikan dengan
let
tidak diangkat (hoisted), yang menyebabkan kesalahan.
Penggunaan Variabel yang Tepat
Pertimbangkan poin-poin berikut untuk penggunaan variabel yang tepat.
- Lebih baik menggunakan
const
dan hindari menggunakanvar
. - Ikuti konvensi penamaan variabel.
- Gunakan
camelCase
, sepertiuserName
atautotalPrice
. - Hindari nama yang ambigu seperti
data
atauvalue
, dan gunakan nama yang bermakna untuk meningkatkan keterbacaan. - Nama variabel tidak boleh dimulai dengan angka, jadi nama seperti
1variable
tidak diperbolehkan.
- Gunakan
- Penggunaan variabel global yang berlebihan dapat menyebabkan ambiguitas cakupan dan memicu bug, jadi hindari menggunakannya sebisa mungkin.
Ringkasan
var
: Metode deklarasi variabel lama dengan cakupan fungsi (function scope).let
: Variabel dengan cakupan blok yang nilainya dapat diubah.const
: Variabel dengan cakupan blok yang nilainya tidak dapat diubah (konstanta).- Penting untuk menggunakan variabel sesuai dengan jenis datanya dan memperhatikan cakupannya.
Apa itu karakter escape dalam JavaScript?
Karakter escape adalah metode yang digunakan untuk merepresentasikan karakter dengan makna khusus dalam literal string biasa. Dalam JavaScript, karakter escape diperkenalkan dengan tanda backslash \
untuk memberikan efek khusus pada string atau untuk menyertakan karakter kontrol. Karakter escape berguna untuk menyertakan elemen seperti baris baru, tab, atau tanda kutip dalam sebuah string.
Contoh penggunaan karakter escape
Berikut adalah beberapa contoh kode yang menggunakan karakter escape.
Escape tanda kutip ganda dan tunggal
Gunakan karakter escape untuk merepresentasikan tanda kutip ganda atau tunggal dalam sebuah string.
1const singleQuote = 'It\'s a beautiful day!';
2console.log(singleQuote); // Output: It's a beautiful day!
3
4const doubleQuote = "He said, \"Hello there!\"";
5console.log(doubleQuote); // Output: He said, "Hello there!"
Escape tanda backslash
Untuk menyertakan backslash itu sendiri dalam string, gunakan escape dengan \
.
1const path = "C:\\Program Files\\MyApp";
2console.log(path); // Output: C:\Program Files\MyApp
Escape baris baru dan tab
Anda dapat menyisipkan baris baru dan tab untuk membuat string panjang lebih mudah dibaca.
1const multiline = "First line\nSecond line\nThird line";
2console.log(multiline);
3// Output:
4// First line
5// Second line
6// Third line
7
8const tabbed = "Column1\tColumn2\tColumn3";
9console.log(tabbed); // Output: Column1 Column2 Column3
Escape karakter Unicode
Menggunakan urutan escape Unicode memungkinkan Anda merepresentasikan karakter tertentu dengan kode heksadesimal.
1const smiley = "\u263A"; // Copyright Mark
2console.log(smiley);
Catatan
Penggunaan karakter escape secara berlebihan dapat merusak keterbacaan
Penggunaan karakter escape secara berlebihan dapat mengurangi keterbacaan kode Anda. Sangat penting untuk menggunakan karakter escape dengan bijaksana, terutama dalam string panjang.
Pertimbangkan menggunakan template literal
Dalam JavaScript, template literal menggunakan backticks memungkinkan Anda menyertakan baris baru atau ekspresi tertanam tanpa karakter escape.
1const message = `This is a message
2that spans multiple lines`;
3console.log(message);
4// Output:
5// This is a message
6// that spans multiple lines
Ringkasan
Karakter escape sangat penting untuk merepresentasikan karakter khusus atau kontrol dalam string. Dengan melakukan escape pada tanda kutip tunggal atau ganda serta menambahkan baris baru atau tab, Anda dapat menciptakan string yang lebih fleksibel. Namun, penggunaan karakter escape secara berlebihan dapat membuat kode sulit dibaca, jadi pertimbangkan untuk menggunakan template literal jika sesuai.
Versi JavaScript
JavaScript memiliki spesifikasi standar yang disebut ECMAScript (ES). JavaScript telah berkembang berdasarkan standar ini. Berikut adalah deskripsi singkat tentang versi utamanya.
-
ES3 (1999)
Versi pertama yang digunakan secara luas. Sintaksis dasar dan fitur dasar telah ditetapkan.
-
ES5 (2009)
Diperkenalkannya
strict mode
, serta fitur baru sepertiArray.prototype.forEach
,Object.keys
, dll. -
ES6 / ES2015 (2015)
Pembaruan besar telah dilakukan pada JavaScript. Banyak fitur dasar untuk JavaScript modern, seperti
let
,const
,arrow functions
,classes
,promises
,modules
, dll., diperkenalkan. -
ES7 / ES2016 (2016)
Array.prototype.includes
danOperator Eksponensiasi (**)
ditambahkan. -
ES8 / ES2017 (2017)
async/await
diperkenalkan, membuat penulisan proses asinkron menjadi lebih sederhana. -
ES9 / ES2018 (2018)
Iterator asinkron dan
Properti Rest/Spread
ditambahkan. -
ES10 / ES2019 (2019)
flatMap
danObject.fromEntries
ditambahkan. -
ES11 / ES2020 (2020)
Optional Chaining (?.)
danOperator Nullish Coalescing (??)
ditambahkan, memungkinkan penulisan kode yang lebih sederhana dan aman. -
ES12 / ES2021 (2021)
String.prototype.replaceAll
danPromise.any
, di antara yang lainnya, telah ditambahkan. -
ES13 / ES2022 (2022)
Array.prototype.at
dan bidangprivate
kelas (#field
), di antara yang lainnya, telah ditambahkan. -
ES14 / ES2023 (2023)
Array.prototype.toSorted
danSymbol.prototype.description
, di antara yang lainnya, telah ditambahkan. -
ES15 / ES2024 (2024)
Promise.withResolvers
untuk pengelolaanPromise
yang lebih mudah danArrayBuffer
yang dapat diubah ukurannya, di antara yang lainnya, telah ditambahkan.
JavaScript saat ini diperbarui setiap tahun, dan fitur baru ditambahkan bahkan pada versi terbaru.
Anda dapat mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Silakan periksa juga saluran YouTube kami.