Asas-asas JavaScript
Artikel ini menerangkan asas-asas JavaScript.
YouTube Video
Melaksanakan Hello World!
Gambaran Keseluruhan JavaScript
JavaScript adalah salah satu bahasa pengaturcaraan yang paling banyak digunakan dalam pembangunan web. Ia terutamanya digunakan untuk menambah elemen dinamik pada laman web, membolehkan manipulasi antara muka pengguna, penghantaran data, dan penciptaan animasi. Ia boleh beroperasi pada bahagian klien (dalam penyemak imbas) dan bahagian pelayan menggunakan teknologi seperti Node.js. Disebabkan kesederhanaan dan fleksibilitinya, ia mudah dipelajari untuk pemula dan banyak digunakan oleh pembangun profesional.
Pembolehubah dalam JavaScript
Pembolehubah dalam JavaScript adalah seperti bekas yang digunakan untuk menyimpan dan mengguna semula data. Dengan menggunakan pembolehubah, anda boleh mengekalkan dan memanipulasi nilai dalam program anda.
Perisytiharan Pembolehubah
Dalam JavaScript, terdapat tiga kata kunci untuk mengisytiharkan pembolehubah.
var
: Kaedah lama untuk mengisytiharkan pembolehubah, tetapi mengendalikan skopnya adalah rumit dan memerlukan berhati-hati. Ia berdasarkan skop fungsi.
1var x = 10;
let
: Diperkenalkan dalam ES6, ia adalah cara untuk mengisytiharkan pembolehubah dengan skop blok. Ia boleh diberikan semula tetapi tidak boleh diisytiharkan semula dalam skop yang sama.
1let y = 20;
const
: Digunakan untuk mengisytiharkan pembolehubah yang tidak boleh diubah (konstan). Ia mempunyai skop blok dan tidak boleh diubah atau diisytihar semula selepas deklarasi.
1const z = 30;
Skop
Pembolehubah mempunyai konsep skop.
Skop 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"
- Pembolehubah dengan skop global boleh diakses dari mana-mana. Pembolehubah yang diisytihar menggunakan
var
mempunyai skop global atau fungsi, tetapilet
danconst
mempunyai skop blok.
Skop 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);
-
Skop blok: Pembolehubah yang diisytihar menggunakan
let
atauconst
hanya sah dalam{}
(kurungan keriting). -
Ralat berlaku apabila mengakses dari luar
{}
(kurungan keriting).
Skop 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);
-
Skop fungsi: Pembolehubah dan fungsi yang ditakrif dalam sebuah fungsi tidak boleh diakses dari luar fungsi tersebut. Pembolehubah yang diisytihar di dalam fungsi menggunakan
var
adalah milik skop ini. -
Dalam contoh ini, pembolehubah
functionVar
boleh diakses dari luar{}
(kurungan keriting) selagi ia berada dalam skop fungsi. Sebaliknya, mengakses pembolehubahfunctionScoped
dari luar skop fungsi akan menghasilkan ralat.
Jadi, pembolehubah yang diisytihar menggunakan var hanya mempunyai skop fungsi dan tiada skop blok, menyebabkan risiko digunakan dalam julat yang tidak dijangka. Adalah lebih baik menggunakan const untuk pembolehubah yang tidak berubah dan biasanya menggunakan let, elakkan menggunakan var sebanyak yang mungkin.
Jenis-jenis Data
Pembolehubah JavaScript boleh menyimpan nilai pelbagai jenis data. Terdapat string
untuk menangani teks dan number
untuk menangani nilai berangka.
Jenis data utama adalah seperti 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);
- Jenis Data Primitif:
number
: Menguruskan nilai berangka (integer dan nombor titik terapung).string
: Menguruskan rentetan aksara.boolean
: Mengendalikan nilai booleantrue
ataufalse
.null
: Secara eksplisit mewakili nilai 'tiada'.undefined
: Nilai yang secara automatik diberikan kepada pembolehubah yang belum diinisialisasi.Symbol
: Jenis data yang digunakan untuk mencipta 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 pelbagai sifat.Array
: Senarai yang mengandungi pelbagai nilai.Function
: Objek fungsi.
Penugasan dan Penugasan Semula kepada Pembolehubah
Pembolehubah yang diisytiharkan dengan let
atau var
boleh diberikan semula, tetapi const
tidak boleh diberikan semula selepas diisytiharkan.
1let score = 100;
2score = 150; // Correct
3
4const pi = 3.14;
5pi = 3.14159; // Error
Pengangkatan Pembolehubah
Dalam JavaScript, terdapat fenomena di mana pengisytiharan pembolehubah 'diangkat' ke bahagian atas skop mereka. Pembolehubah yang diisytiharkan dengan var
diangkat, tetapi menggunakan let
atau const
sebelum pengisytiharan akan menyebabkan ralat.
1console.log(a); // undefined
2var a = 10;
3console.log(a); // 10
- Dalam kes ini, pembolehubah yang diisytiharkan dengan
var
diangkat, dan nilainya dipaparkan.
1console.log(b); // ReferenceError
2let b = 20;
- Pembolehubah yang diisytiharkan dengan
let
tidak diangkat, menyebabkan ralat.
Penggunaan Pembolehubah dengan Betul
Pertimbangkan perkara berikut untuk penggunaan pembolehubah secara betul.
- Utamakan penggunaan
const
dan elakkan menggunakanvar
. - Ikut konvensyen penamaan pembolehubah.
- Gunakan
camelCase
, sepertiuserName
atautotalPrice
. - Elakkan nama yang tidak jelas seperti
data
atauvalue
, dan gunakan nama yang bermakna untuk meningkatkan kebolehbacaan. - Nama pembolehubah tidak boleh bermula dengan nombor, jadi nama seperti
1variable
tidak dibenarkan.
- Gunakan
- Penggunaan pembolehubah global secara berlebihan boleh menyebabkan kekaburan skop dan membawa kepada pepijat, jadi elakkan menggunakannya jika boleh.
Ringkasan
var
: Kaedah lama untuk mengisytiharkan pembolehubah yang memiliki skop fungsi.let
: Pembolehubah dengan skop blok yang boleh diberikan semula.const
: Pembolehubah dengan skop blok yang tidak boleh diberikan semula (konstan).- Adalah penting untuk menggunakan pembolehubah mengikut jenis datanya dan berhati-hati dengan skopnya.
Apakah karakter pelarian dalam JavaScript?
Karakter pelarian adalah satu kaedah untuk mewakili karakter dengan makna khas dalam literal string biasa. Dalam JavaScript, karakter pelarian diperkenalkan dengan backslash \
untuk memberikan efek khas kepada string atau memasukkan karakter kawalan. Karakter pelarian berguna untuk memasukkan elemen seperti baris baru, tab, atau tanda petikan dalam string.
Contoh menggunakan karakter pelarian
Di bawah adalah beberapa contoh kod yang menggunakan karakter pelarian.
Melarikan tanda petikan berganda dan tunggal
Gunakan karakter pelarian untuk mewakili tanda petikan berganda atau tunggal dalam 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!"
Melarikan backslash
Untuk memasukkan backslash itu sendiri dalam string, larikannya dengan \
.
1const path = "C:\\Program Files\\MyApp";
2console.log(path); // Output: C:\Program Files\MyApp
Melarikan baris baru dan tab
Anda boleh memasukkan 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
Melarikan karakter Unicode
Menggunakan urutan pelarian Unicode membolehkan anda mewakili karakter tertentu dengan kod heksadesimal.
1const smiley = "\u263A"; // Copyright Mark
2console.log(smiley);
Nota
Penggunaan pelarian yang berlebihan boleh merosakkan kebolehbacaan
Penggunaan berlebihan karakter pelarian boleh mengurangkan kebolehbacaan kod anda. Ia sangat penting untuk menggunakan karakter pelarian secara bijak dalam string panjang.
Pertimbangkan untuk menggunakan literal templat
Dalam JavaScript, literal templat menggunakan backticks membolehkan anda memasukkan baris baru atau ekspresi yang disemat tanpa karakter pelarian.
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 pelarian adalah penting untuk mewakili karakter khas atau kawalan dalam string. Dengan melarikan tanda petikan tunggal atau berganda dan menambah baris baru atau tab, anda boleh mencipta string yang lebih fleksibel. Namun, penggunaan yang berlebihan pada karakter pelarian boleh membuat kod sukar dibaca, jadi pertimbangkan untuk menggunakan literal templat apabila sesuai.
Versi JavaScript
JavaScript mempunyai spesifikasi piawai yang dipanggil ECMAScript (ES). JavaScript telah berkembang berdasarkan piawai ini. Berikut adalah penerangan ringkas tentang versi utamanya.
-
ES3 (1999)
Versi pertama yang diterima secara meluas. Sintaksis asas dan ciri-ciri telah ditetapkan.
-
ES5 (2009)
Pengenalan kepada
strict mode
, dan ciri-ciri baru sepertiArray.prototype.forEach
,Object.keys
, dll telah ditambahkan. -
ES6 / ES2015 (2015)
Kemas kini besar kepada JavaScript telah dibuat. Banyak ciri asas JavaScript moden, seperti
let
,const
,arrow functions
,classes
,promises
,modules
, dsb., telah diperkenalkan. -
ES7 / ES2016 (2016)
Array.prototype.includes
danExponentiation Operator (**)
telah ditambah. -
ES8 / ES2017 (2017)
async/await
diperkenalkan, menjadikan lebih mudah untuk menulis proses tak segerak. -
ES9 / ES2018 (2018)
Iterator tak segerak dan
Rest/Spread Properties
telah ditambah. -
ES10 / ES2019 (2019)
flatMap
danObject.fromEntries
telah ditambah. -
ES11 / ES2020 (2020)
Optional Chaining (?.)
danNullish Coalescing Operator (??)
telah ditambah, membolehkan kod ditulis dengan lebih ringkas dan selamat. -
ES12 / ES2021 (2021)
String.prototype.replaceAll
danPromise.any
, antara lain, telah ditambah. -
ES13 / ES2022 (2022)
Array.prototype.at
dan medanprivate
kelas (#field
), antara lain, telah ditambah. -
ES14 / ES2023 (2023)
Array.prototype.toSorted
danSymbol.prototype.description
, antara lain, telah ditambah. -
ES15 / ES2024 (2024)
Promise.withResolvers
untuk pengurusanPromise
yang lebih mudah danArrayBuffer
yang boleh diubah saiz, antara lain, telah ditambah.
JavaScript semasa dikemas kini setiap tahun, dan ciri baharu ditambah walaupun dalam versi terkini.
Anda boleh mengikuti artikel di atas menggunakan Visual Studio Code di saluran YouTube kami. Sila lihat juga saluran YouTube kami.