4. vì sao bộ mã unicode có thể dùng chung cho mọingôn ngữ của các quốc gia trên thế giới?

Unicode làmột tiêu chuẩn công nghiệp để mã hóa nhất quán văn bản viết.

Có rất nhiều bộ ký tự được sử dụng bởi máy tính, nhưng Unicode là bộ ký tự đầu tiên nhằm hỗ trợ mọi ngôn ngữ viết trên trái đất [và hơn thế nữa!].

Mục đích của nó là cung cấp một số duy nhất để xác định mọi ký tự cho mọi ngôn ngữ, trên mọi nền tảng.

Unicode ánh xạ mọi ký tự thành một mã cụ thể, được gọi làđiểm mã. Một điểm mã có dạngU+, từU+0000đếnU+10FFFF.

Một điểm mã ví dụ trông như thế này:U+004F. Ý nghĩa của nó phụ thuộc vào bảng mã ký tự được sử dụng.

Unicode định nghĩa khác nhaubảng mã ký tự, những cái được sử dụng nhiều nhất là UTF-8, UTF-16 và UTF-32.

UTF-8 chắc chắn là bảng mã phổ biến nhất trong họ Unicode, đặc biệt là trên Web. Ví dụ: tài liệu này được viết bằng UTF-8.

Hiện tại có hơn 135.000 ký tự khác nhau được thực hiện, với khoảng trống hơn 1,1 triệu.

Tập lệnh

Tất cả các ký tự được hỗ trợ Unicode được nhóm thành các phần được gọi làtập lệnh.

Có một tập lệnh cho mọi bộ ký tự khác nhau:

  • Tiếng Latinh [chứa tất cả ASCII + tất cả các ký tự khác của thế giới phương Tây]
  • Hàn Quốc
  • Tiếng Hungary cổ
  • Tiếng Do Thái
  • người Hy Lạp
  • Tiếng Armenia
  • …và như thế!

Danh sách đầy đủ được xác định trongTiêu chuẩn ISO 15924.

Xem thêm về tập lệnh://en.wikipedia.org/wiki/Script_[Unicode]

Máy bay

Ngoài các tập lệnh, có một cách khác mà Unicode tổ chức các ký tự của nó:máy bay.

Thay vì nhóm chúng theo loại, nó sẽ kiểm tra giá trị điểm mã:

Máy bay Phạm vi
0 U + 0000 - U + FFFF
1 U + 10000 - U + 1FFFF
2 U + 20000 - U + 2FFFF
14 U + E0000 - U + EFFFF
15 U + F0000 - U + FFFFF
16 U + 100000 - U + 10FFFF

Có 17 máy bay.

Đầu tiên là đặc biệt, nó được gọi làMặt phẳng đa ngôn ngữ cơ bản, hoặc làBMP, và chứa hầu hết các ký tự và ký hiệu hiện đại, từ hệ thống chữ viết Latinh, Cyrillic, Hy Lạp.

16 máy bay khác được gọi làmáy bay thiên văn. Đáng chú ý là các máy bay từ 3 đến 13 hiện đang trống.

Các điểm mã chứa trong các mặt phẳng trung gian được gọi làđiểm mã astral.

Tất cả các điểm mã Astral đều cao hơnU+10000.

Đơn vị mã

Điểm mã được lưu trữ nội bộ dưới dạngđơn vị mã. Một đơn vị mã là biểu diễn bit của một ký tự và độ dài của nó thay đổi tùy thuộc vào mã hóa ký tự

UTF-32 sử dụng đơn vị mã 32 bit.

UTF-8 sử dụng đơn vị mã 8 bit và UTF-16 sử dụng đơn vị mã 16 bit. Nếu một điểm mã cần kích thước lớn hơn, nó sẽ được biểu thị bằng 2 [hoặc nhiều hơn, theo UTF-8] đơn vị mã.

Graphemes

Grapheme là một ký hiệu đại diện cho một đơn vị của hệ thống chữ viết. Về cơ bản làý tưởng của bạncủa một nhân vật và nó sẽ trông như thế nào.

Glyphs

Glyph là một biểu diễn đồ họa của grapheme: cách nó được hiển thị trực quan trên màn hình, hình thức thực tế trên màn hình.

Trình tự

Unicode cho phép bạn kết hợp các ký tự khác nhau để tạo thành grapheme.

Ví dụ, đó là trường hợp của các ký tự có dấu: chữ cáiécó thể được thể hiện bằng cách sử dụng kết hợp các chữ cáie[U+0065] và ký tự unicode có tên “COMBINING ACUTE ACCENT” [U+0301]:

U+0301trong trường hợp này là những gì được mô tả làkết hợp đánh dấu, một ký tự áp dụng cho ký tự trước đó để tạo thành một grapheme khác.

Bình thường hóa

Một ký tự đôi khi có thể được biểu diễn bằng cách sử dụng các kết hợp khác nhau của các điểm mã.

Ví dụ, đó là trường hợp của các ký tự có dấu: chữ cáiécó thể được thể hiện cả hai nhưU+00E9và cũng như kết hợpe[U+0065] và ký tự unicode có tên “COMBINING ACUTE ACCENT” [U+0301]:

U+00E9 ➡️ "é" U+0065U+0301 ➡️ "é"

Quá trình chuẩn hóa phân tích một chuỗi cho những loại không rõ ràng đó và tạo ra một chuỗi với biểu diễn chính tắc của bất kỳ ký tự nào.

Nếu không chuẩn hóa, các chuỗi hoàn toàn bằng nhau đối với mắt sẽ được coi là khác nhau vì biểu diễn bên trong của chúng thay đổi:

Biểu tượng cảm xúc

Biểu tượng cảm xúc là các ký tự mặt phẳng trung gian Unicode và chúng cung cấp một cách để hiển thị hình ảnh trên màn hình của bạn mà không thực sự có hình ảnh thực, chỉ là phông chữ glyphs.

Ví dụ, biểu tượng 🐶 được mã hóa thànhU+1F436.

128 ký tự đầu tiên

128 ký tự đầu tiên của Unicode giống như bộ ký tự ASCII.

32 ký tự đầu tiên,U+0000-U+001F[0-31] được gọi làMã kiểm soát.

Chúng là một sự kế thừa từ quá khứ và hầu hết chúng hiện nay đã lỗi thời. Chúng được sử dụng cho các máy teletype, một thứ tồn tại trước cả fax.

Các ký tự từ U + 0020 [32] đến U + 007E [126] chứa số, chữ cái và một số ký hiệu:

Unicode Mã ASCII Glyph
U + 0020 32 [không gian]
U + 0021 33 !
U + 0022 34
U + 0023 35 #
U + 0024 36 $
U + 0025 37 %
U + 0026 38 &
U + 0027 39 '
U + 0028 40 [
U + 0029 41 ]
U + 002A 42 *
U + 002B 43 +
U + 002C 44 ,
U + 002D 45 -
U + 002E 46 .
U + 002F 47 /
U + 0030 48 0
U + 0031 49 1
U+0032 50 2
U+0033 51 3
U+0034 52 4
U+0035 53 5
U+0036 54 6
U+0037 55 7
U+0038 56 8
U+0039 57 9
U + 003A 58 :
U + 003B 59 ;
U + 003C 60
U + 003F 63 ?
U+0040 64 @
U+0041 65 A
U+0042 66 B
U+0043 67 C
U+0044 68 D
U+0045 69 E
U+0046 70 F
U+0047 71 G
U+0048 72 H
U+0049 73 Tôi
U + 004A 74 J
U + 004B 75 K
U + 004C 76 L
U + 004D 77 M
U + 004E 78 N
U + 004F 79 O
U+0050 80 P
U+0051 81 Q
U+0052 82 R
U+0053 83 S
U+0054 84 T
U+0055 85 U
U+0056 86 V
U+0057 87 W
U+0058 88 X
U+0059 89 Y
U + 005A 90 Z
U + 005B 91 [
U + 005C 92
U + 005D 93 ]
U + 005E 94 ^
U + 005F 95 _
U+0060 96 `
U+0061 97 a
U+0062 98 b
U+0063 99 c
U+0064 100 d
U+0065 101 e
U+0066 102 f
U+0067 103 g
U+0068 104 h
U+0069 105 Tôi
U + 006A 106 j
U + 006B 107 k
U + 006C 108 l
U + 006D 109 m
U + 006E 110 n
U + 006F 111 o
U+0070 112 p
U+0071 113 q
U+0072 114 r
U+0073 115 S
U+0074 116 t
U+0075 117 u
U+0076 118 v
U+0077 119 w
U+0078 120 x
U+0079 121 y
U + 007A 122 z
U + 007B 123 {
U + 007C 124
U + 007D 125 }
U + 007E 126 ~
  • Các con số bắt nguồn từU+0030đếnU+0039
  • Chữ hoa đi từU+0041đếnU+005A
  • Chữ thường đi từU+0061đếnU+007A

U + 007F [127] là ký tự xóa.

Mọi thứ về sau đều nằm ngoài phạm vi của ASCII và là một phần của Unicode độc quyền.

Bạn có thể tìm thấy toàn bộ danh sách trên Wikipedia://en.wikipedia.org/wiki/List_of_Unicode_characters

Bảng mã Unicode

UTF-8

UTF-8 là một mã hóa ký tự có độ rộng thay đổi và nó có thể mã hóa mọi ký tự được Unicode bao phủ, sử dụng từ 1 đến 4 byte 8 bit.

Ban đầu nó được thiết kế bởi Ken Thompson và Rob Pike vào năm 1992. Những cái tên này quen thuộc với những người quan tâm đến ngôn ngữ lập trình cờ vây, vì họ cũng là hai trong số những người sáng tạo ra nó.

Nó được W3C đề xuất làm mã hóa mặc định trong các tệp HTML và số liệu thống kê cho thấy nó được sử dụng trên 91,3% tất cả các trang web, kể từ tháng 4 năm 2018.

Vào thời điểm được giới thiệu, ASCII là bảng mã ký tự phổ biến nhất ở thế giới phương Tây. Trong ASCII tất cả các chữ cái, chữ số và ký hiệu đều được gán một số, và số này. Được cố định thành 8 bit, nó chỉ có thể đại diện cho tối đa 255 ký tự là đủ.

UTF-8 được thiết kế để tương thích ngược với ASCII. Điều này rất quan trọng đối với việc áp dụng nó, vì ASCII đã cũ hơn nhiều [1963] và phổ biến rộng rãi, và việc chuyển sang UTF-8 diễn ra gần như minh bạch.

128 ký tự đầu tiên của UTF-8 ánh xạ chính xác tới ASCII. Tại sao lại là 128? Bởi vì ASCII sử dụng mã hóa 7-bit, cho phép lên đến 128 kết hợp. Tại sao lại là 7 bit? Bây giờ chúng ta coi 8 bit là điều hiển nhiên, nhưng vào thời mà ASCII được hình thành, các hệ thống 7 bit cũng rất phổ biến.

Tương thích 100% với ASCII làm cho UTF-8 cũng rất hiệu quả, vì các ký tự được sử dụng thường xuyên nhất trong các ngôn ngữ phương Tây chỉ được mã hóa bằng 1 byte.

Đây là bản đồ sử dụng byte:

Số byte Khởi đầu Kết thúc
1 U+0000 U+007F
2 U+0080 U+07FF
3 U+0800 U+FFFF
4 U+10000 U+10FFFF

Hãy nhớ rằng trong ASCII, các ký tự đã được mã hóa dưới dạng số? Nếu lá thưAtrong ASCII được biểu diễn bằng số65, sử dụng UTF-8, nó được mã hóa thànhU+0041.

Tại sao khôngU+0065bạn hỏi? Vì unicode sử dụng cơ số thập lục phân và thay vì10bạn cóU+000Avà tiếp tục như vậy [về cơ bản, bạn có một tập hợp gồm 16 chữ số thay vì 10]

Hãy xemVideo này, giải thích rõ ràng về khả năng tương thích UTF-8 và ASCII này.

UTF-16

UTF-16 là một bảng mã Unicode rất phổ biến khác. Ví dụ, đó là cách Java đại diện bên trong bất kỳ ký tự nào. Nó cũng làmột trong 2 mã hóa mà JavaScript sử dụng nội bộ, cùng vớiUCS-2. Nó cũng được sử dụng bởi nhiều hệ thống khác, như Windows.

UTF-16 là một hệ thống mã hóa có độ dài thay đổi, giống như UTF-8, nhưng sử dụng 2 byte [16 bit] là mức tối thiểu cho bất kỳ biểu diễn ký tự nào. Do đó, nó không tương thích ngược với tiêu chuẩn ASCII.

Các điểm mã trong Mặt phẳng đa ngôn ngữ cơ bản [BMP] được lưu trữ bằng cách sử dụng 2 byte. Điểm mã trongmáy bay thiên vănđược lưu trữ bằng cách sử dụng 4 byte.

UTF-32

UTF-8 sử dụng tối thiểu 1 byte, UTF-16 sử dụng tối thiểu 2 byte.

UTF-32 luôn sử dụng 4 byte, mà không tối ưu hóa việc sử dụng không gian, và như vậy, nó lãng phí rất nhiều băng thông.

Ràng buộc này làm cho nó hoạt động nhanh hơn vì bạn có ít phải kiểm tra hơn, vì bạn có thể giả sử 4 byte cho tất cả các ký tự.

Nó không phổ biến như UTF-8 và UTF-16, nhưng nó có các ứng dụng của nó.

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác:

  • Những điều cần tránh trong JavaScript [những phần xấu]
  • Trì hoãn và Hứa hẹn trong JavaScript [ví dụ + Ember.js]
  • Cách tải tệp lên máy chủ bằng JavaScript
  • Kiểu mã hóa JavaScript
  • Giới thiệu về Mảng JavaScript
  • Giới thiệu về ngôn ngữ lập trình JavaScript
  • Hướng dẫn đầy đủ về ECMAScript 2015-2019
  • Hiểu những lời hứa về JavaScript
  • Cấu trúc Lexical của JavaScript
  • Các loại JavaScript
  • Các biến JavaScript
  • Danh sách các Ý tưởng ứng dụng web mẫu
  • Giới thiệu về Lập trình chức năng với JavaScript
  • JavaScript không đồng bộ hiện đại với Async và Await
  • Các vòng lặp và phạm vi JavaScript
  • Cấu trúc dữ liệu JavaScript của bản đồ
  • Cấu trúc dữ liệu JavaScript tập hợp
  • Hướng dẫn về các chữ mẫu JavaScript
  • Lộ trình học JavaScript
  • Biểu thức JavaScript
  • Khám phá bộ hẹn giờ JavaScript
  • Sự kiện JavaScript được giải thích
  • Vòng lặp JavaScript
  • Viết các vòng lặp JavaScript bằng cách sử dụng bản đồ, lọc, giảm và tìm
  • Vòng lặp sự kiện JavaScript
  • Các hàm JavaScript
  • Bảng chú giải thuật ngữ JavaScript
  • JavaScript Closures giải thích
  • Hướng dẫn về Hàm mũi tên trong JavaScript
  • Hướng dẫn về Cụm từ thông dụng JavaScript
  • Cách kiểm tra xem một chuỗi có chứa chuỗi con trong JavaScript hay không
  • Cách xóa một mục khỏi Mảng trong JavaScript
  • Cách sao chép sâu một đối tượng JavaScript
  • Introduction to Unicode and UTF-8
  • Unicode trong JavaScript
  • Cách viết hoa chữ cái đầu tiên của chuỗi trong JavaScript
  • Cách định dạng một số dưới dạng giá trị tiền tệ trong JavaScript
  • Cách chuyển đổi một chuỗi thành một số trong JavaScript
  • cái này trong JavaScript
  • Cách lấy dấu thời gian hiện tại trong JavaScript
  • Chế độ nghiêm ngặt của JavaScript
  • JavaScript Biểu thức hàm được gọi ngay lập tức [IIFE]
  • Cách chuyển hướng đến một trang web khác bằng JavaScript
  • Cách xóa thuộc tính khỏi đối tượng JavaScript
  • Cách nối một mục vào một mảng trong JavaScript
  • Cách kiểm tra xem thuộc tính đối tượng JavaScript có không được xác định hay không
  • Giới thiệu về Mô-đun ES
  • Giới thiệu về CommonJS
  • Lập trình không đồng bộ JavaScript và gọi lại
  • Cách thay thế tất cả các lần xuất hiện của một chuỗi trong JavaScript
  • Hướng dẫn tham khảo nhanh về Cú pháp JavaScript hiện đại
  • Cách cắt số 0 ở đầu một số trong JavaScript
  • Cách kiểm tra một đối tượng JavaScript
  • Hướng dẫn chính xác về Ngày trong JavaScript
  • Hướng dẫn Moment.js
  • Dấu chấm phẩy trong JavaScript
  • Các toán tử số học JavaScript
  • Đối tượng Toán JavaScript
  • Tạo chuỗi ngẫu nhiên và duy nhất trong JavaScript
  • Cách đặt các hàm JavaScript của bạn ở chế độ ngủ
  • Kế thừa nguyên mẫu JavaScript
  • Ngoại lệ JavaScript
  • Cách sử dụng các lớp JavaScript
  • Sách dạy nấu ăn JavaScript
  • Trích dẫn bằng JavaScript
  • Cách xác thực địa chỉ email trong JavaScript
  • Cách lấy các thuộc tính duy nhất của một tập hợp các đối tượng trong một mảng JavaScript
  • Cách kiểm tra xem một chuỗi có bắt đầu bằng chuỗi khác trong JavaScript hay không
  • Cách tạo chuỗi nhiều dòng trong JavaScript
  • Hướng dẫn ES6
  • Cách lấy URL hiện tại trong JavaScript
  • Hướng dẫn ES2016
  • Cách khởi tạo một mảng mới với các giá trị trong JavaScript
  • Hướng dẫn ES2017
  • Hướng dẫn ES2018
  • Cách sử dụng Async và Await với Array.prototype.map []
  • Không đồng bộ so với mã đồng bộ
  • Cách tạo một số ngẫu nhiên giữa hai số trong JavaScript
  • Hướng dẫn sử dụng HTML Canvas API
  • Cách lấy chỉ mục của một lần lặp trong vòng lặp for-of trong JavaScript
  • Ứng dụng một trang là gì?
  • Giới thiệu về WebAssembly
  • Giới thiệu về JSON
  • Hướng dẫn JSONP
  • Should you use or learn jQuery in 2020?
  • Cách ẩn một phần tử DOM bằng JavaScript thuần túy
  • Cách hợp nhất hai đối tượng trong JavaScript
  • Cách làm trống một mảng JavaScript
  • Cách mã hóa URL bằng JavaScript
  • Cách đặt giá trị tham số mặc định trong JavaScript
  • Cách sắp xếp một mảng đối tượng theo giá trị thuộc tính trong JavaScript
  • Cách đếm số lượng thuộc tính trong một đối tượng JavaScript
  • call [] và apply [] trong JavaScript
  • Giới thiệu về PeerJS, thư viện WebRTC
  • Làm việc với các đối tượng và mảng bằng Rest and Spread
  • Hủy cấu trúc các đối tượng và mảng trong JavaScript
  • Hướng dẫn cuối cùng để gỡ lỗi JavaScript
  • Hướng dẫn TypeScript
  • Tự động chọn một phương thức của một đối tượng trong JavaScript
  • Chuyển không xác định sang JavaScript Biểu thức hàm được gọi ngay lập tức
  • Ngôn ngữ được gõ nhẹ so với ngôn ngữ được gõ mạnh
  • Cách tạo kiểu các phần tử DOM bằng JavaScript
  • Truyền trong JavaScript
  • Hướng dẫn tạo JavaScript
  • Kích thước thư mục node_modules không phải là vấn đề. Đó là một đặc ân
  • Cách giải quyết lỗi số nhận dạng không mong muốn khi nhập mô-đun trong JavaScript
  • Cách liệt kê tất cả các phương thức của một đối tượng trong JavaScript
  • Phương thức String Replace []
  • Phương thức tìm kiếm chuỗi []
  • Cách tôi chạy các đoạn mã JavaScript nhỏ
  • Hướng dẫn ES2019
  • Phương thức chuỗi charAt []
  • Phương thức chuỗi charCodeAt []
  • Phương thức String codePointAt []
  • Phương thức String concat []
  • Phương thức String endWith []
  • Phương thức String include []
  • Phương thức String indexOf []
  • Phương thức String lastIndexOf []
  • Phương thức String localeCompare []
  • Phương thức String match []
  • Phương thức String normalize []
  • Phương thức String padEnd []
  • Phương thức String padStart []
  • Phương thức lặp lại chuỗi []
  • Phương thức String Slice []
  • Phương thức String split []
  • Phương thức String startedWith []
  • Phương thức String substring []
  • Phương thức String toLocaleLowerCase []
  • Phương thức String toLocaleUpperCase []
  • Phương thức String toLowerCase []
  • Phương thức String toString []
  • Phương thức String toUpperCase []
  • Phương thức String trim []
  • Phương thức String trimEnd []
  • Phương thức String trimStart []
  • Ghi nhớ trong JavaScript
  • Phương thức String valueOf []
  • Tham khảo JavaScript: Chuỗi
  • Phương thức Number isInteger []
  • Phương thức Number isNaN []
  • Phương thức Number isSafeInteger []
  • Phương thức Number parseFloat []
  • Phương thức Number parseInt []
  • Phương thức Number toString []
  • Phương thức Number valueOf []
  • Phương thức Number toPre precision []
  • Phương thức Number toExponential []
  • Phương thức Number toLocaleString []
  • Phương thức Number toFixed []
  • Phương thức Number isFinite []
  • Tham chiếu JavaScript: Số
  • Bộ mô tả thuộc tính JavaScript
  • Phương thức gán đối tượng []
  • Phương thức đối tượng create []
  • Phương thức Object defineProperties []
  • Phương thức Object defineProperty []
  • Phương thức Object entry []
  • Phương thức đông cứng đối tượng []
  • Phương thức Object getOwnPropertyDescriptor []
  • Phương thức Object getOwnPropertyDescriptors []
  • Phương thức Object getOwnPropertyNames []
  • Phương thức Object getOwnPropertySymbols []
  • Phương thức Object getPrototypeOf []
  • Phương thức Object is []
  • Phương thức Object isExtensible []
  • Phương thức Object isFrozen []
  • Phương thức Object isSealed []
  • Phương thức Object key []
  • Phương thức Object PreventExtensions []
  • Phương thức Object seal []
  • Phương thức Object setPrototypeOf []
  • Phương thức Object giá trị []
  • Phương thức Object hasOwnProperty []
  • Phương thức Object isPrototypeOf []
  • Phương thức Object propertyIsEnumerable []
  • Phương thức Object toLocaleString []
  • Phương thức Object toString []
  • Phương thức Object valueOf []
  • Tham chiếu JavaScript: Đối tượng
  • Toán tử gán JavaScript
  • Quốc tế hóa JavaScript
  • Toán tử typeof JavaScript
  • JavaScript Toán tử mới
  • Toán tử so sánh JavaScript
  • Quy tắc ưu tiên toán tử JavaScript
  • Toán tử instanceof JavaScript
  • Câu lệnh JavaScript
  • Phạm vi JavaScript
  • Chuyển đổi loại JavaScript [truyền]
  • Các toán tử bình đẳng trong JavaScript
  • JavaScript có điều kiện if / else
  • Điều kiện chuyển đổi JavaScript
  • Toán tử xóa JavaScript
  • Tham số hàm JavaScript
  • Toán tử Spread JavaScript
  • Giá trị trả lại của JavaScript
  • Toán tử logic JavaScript
  • Toán tử bậc ba của JavaScript
  • Đệ quy JavaScript
  • Thuộc tính đối tượng JavaScript
  • Đối tượng lỗi JavaScript
  • Đối tượng toàn cầu JavaScript
  • Hàm filter JavaScript []
  • Hàm map JavaScript []
  • Hàm Reduce [] trong JavaScript
  • Toán tử JavaScript `in`
  • Toán tử JavaScript
  • Cách nhận giá trị của thuộc tính CSS trong JavaScript
  • Cách thêm trình xử lý sự kiện vào nhiều phần tử trong JavaScript
  • Trường lớp riêng trong JavaScript
  • Cách sắp xếp mảng theo giá trị ngày trong JavaScript
  • Trường lớp công khai JavaScript
  • Ký hiệu JavaScript
  • Cách sử dụng thư viện bcrypt JavaScript
  • Cách đổi tên các trường khi sử dụng cấu trúc đối tượng
  • Cách kiểm tra các loại trong JavaScript mà không cần sử dụng TypeScript
  • Cách kiểm tra xem một mảng JavaScript có chứa một giá trị cụ thể hay không
  • Toán tử phủ định kép là gì !! làm trong JavaScript?
  • Toán tử bình đẳng nào nên được sử dụng trong so sánh JavaScript? == so với ===
  • JavaScript có còn đáng học không?
  • Cách trả về kết quả của một hàm không đồng bộ trong JavaScript
  • Cách kiểm tra xem một đối tượng có trống trong JavaScript hay không
  • Cách thoát khỏi vòng lặp for trong JavaScript
  • Cách thêm mục vào một mảng tại một chỉ mục cụ thể trong JavaScript
  • Tại sao bạn không nên sửa đổi nguyên mẫu đối tượng JavaScript
  • Sự khác biệt giữa sử dụng let và var trong JavaScript là gì?
  • Các liên kết được sử dụng để kích hoạt các hàm JavaScript
  • Cách nối hai chuỗi trong JavaScript
  • Cách nối hai mảng trong JavaScript
  • Làm cách nào để kiểm tra xem một giá trị JavaScript có phải là một mảng hay không?
  • Làm cách nào để lấy phần tử cuối cùng của một mảng trong JavaScript?
  • Cách gửi dữ liệu được mã hóa urlencom bằng Axios
  • Cách lấy ngày mai bằng JavaScript
  • Cách lấy ngày hôm qua bằng JavaScript
  • Cách lấy tên tháng từ ngày JavaScript
  • Cách kiểm tra xem hai ngày có phải là cùng một ngày hay không trong JavaScript
  • Cách kiểm tra xem một ngày có đề cập đến một ngày trong quá khứ trong JavaScript hay không
  • Câu lệnh có nhãn JavaScript
  • Cách chờ 2 hoặc nhiều lời hứa giải quyết trong JavaScript
  • Cách lấy ngày giữa 2 ngày trong JavaScript
  • Cách tải tệp lên bằng Tìm nạp
  • Cách định dạng ngày trong JavaScript
  • Cách lặp qua các thuộc tính đối tượng trong JavaScript
  • Cách tính số ngày giữa 2 ngày trong JavaScript
  • Cách sử dụng mức cao nhất đang chờ đợi trong Mô-đun ES
  • Nhập động JavaScript
  • Chuỗi tùy chọn JavaScript
  • Cách thay thế khoảng trắng bên trong một chuỗi trong JavaScript
  • JavaScript Nullish Coalescing
  • Cách làm phẳng một mảng trong JavaScript
  • Thập kỷ này trong JavaScript
  • Cách gửi tiêu đề ủy quyền bằng Axios
  • Danh sách các từ khóa và các từ dành riêng trong JavaScript
  • Làm thế nào để chuyển đổi một mảng thành một chuỗi trong JavaScript
  • Cách xóa tất cả nội dung thư mục node_modules
  • Cách xóa các bản sao khỏi một mảng JavaScript
  • Let vs Const trong JavaScript
  • Cùng một lệnh gọi API POST trong các thư viện JavaScript khác nhau
  • Cách lấy n mục đầu tiên trong một mảng trong JS
  • Cách chia mảng thành nhiều phần bằng nhau trong JS
  • Cách làm chậm vòng lặp trong JavaScript
  • Cách tải hình ảnh trong canvas HTML
  • Cách cắt một chuỗi thành các từ trong JavaScript
  • Cách chia một nửa mảng trong JavaScript
  • Cách viết văn bản vào HTML canvas
  • Cách xóa ký tự cuối cùng của chuỗi trong JavaScript
  • Cách xóa ký tự đầu tiên của chuỗi trong JavaScript
  • Cách sửa lỗi TypeError: Không thể gán chỉ đọc thuộc tính 'xuất' của đối tượng '# & lt; Đối tượng & gt;' lỗi
  • Cách tạo cửa sổ bật lên ý định thoát
  • Cách kiểm tra xem một phần tử có phải là con của phần tử khác hay không
  • Cách buộc thông tin đăng nhập cho mọi yêu cầu Axios
  • Cách giải quyết lỗi "không phải là một hàm" trong JavaScript
  • Gatsby, cách thay đổi biểu tượng yêu thích
  • Tải tệp JS bên ngoài bằng Gatsby
  • Cách phát hiện chế độ tối bằng JavaScript
  • Bưu kiện, cách sửa lỗi `RegeneratorRuntime không được xác định`
  • Cách phát hiện xem Adblocker có đang được sử dụng với JavaScript hay không
  • Cấu trúc đối tượng với các kiểu trong TypeScript
  • Sổ tay Deno: giới thiệu ngắn gọn về Deno 🦕
  • Cách lấy phân đoạn cuối cùng của đường dẫn hoặc URL bằng JavaScript
  • Cách xáo trộn các phần tử trong một mảng JavaScript
  • Cách kiểm tra xem khóa có tồn tại trong đối tượng JavaScript hay không
  • Sự kiện sôi sục và chụp sự kiện
  • event.stopPropagation so với event.preventDefault [] so với return false trong các sự kiện DOM
  • Loại nguyên thủy so với đối tượng trong JavaScript
  • Làm thế nào bạn có thể biết loại giá trị là gì, trong JavaScript?
  • Cách trả về nhiều giá trị từ một hàm trong JavaScript
  • Hàm mũi tên so với hàm thông thường trong JavaScript
  • Chúng ta có thể truy cập giá trị thuộc tính của một đối tượng bằng những cách nào?
  • Sự khác biệt giữa null và undefined trong JavaScript là gì?
  • Sự khác biệt giữa một phương thức và một hàm là gì?
  • Những cách chúng ta có thể thoát khỏi vòng lặp trong JavaScript là gì?
  • Vòng lặp for..of của JavaScript
  • Hủy cấu trúc đối tượng trong JavaScript là gì?
  • Hosts trong JavaScript là gì?
  • Cách đổi dấu phẩy thành dấu chấm bằng JavaScript
  • Tầm quan trọng của thời gian khi làm việc với DOM
  • Cách đảo ngược một mảng JavaScript
  • Cách kiểm tra xem một giá trị có phải là một số trong JavaScript hay không
  • Cách chấp nhận các tham số không giới hạn trong một hàm JavaScript
  • Đối tượng proxy JavaScript
  • Ủy quyền sự kiện trong trình duyệt sử dụng JavaScript vani
  • Siêu từ khóa JavaScript
  • Giới thiệu về XState
  • Các giá trị được truyền bằng tham chiếu hay theo giá trị trong JavaScript?
  • Sự kiện tùy chỉnh trong JavaScript
  • Lỗi tùy chỉnh trong JavaScript
  • Không gian tên trong JavaScript
  • Một cách sử dụng kỳ lạ của dấu phẩy trong JavaScript
  • Chuỗi cuộc gọi phương thức trong JavaScript
  • Cách xử lý lời hứa từ chối
  • Cách hoán đổi hai phần tử mảng trong JavaScript
  • Cách tôi sửa lỗi "cb.apply không phải là chức năng" khi sử dụng Gitbook
  • Cách thêm một mục vào đầu một mảng trong JavaScript
  • Gatsby, sửa lỗi "không thể tìm thấy mô-đun gatsby-cli / lib / report"
  • Cách lấy chỉ mục của một mục trong một mảng JavaScript
  • Cách kiểm tra đối tượng trống trong JavaScript
  • Cách cấu trúc một đối tượng thành các biến hiện có trong JavaScript
  • Cấu trúc dữ liệu JavaScript của mảng
  • Cấu trúc dữ liệu JavaScript ngăn xếp
  • Cấu trúc dữ liệu JavaScript: Hàng đợi
  • Cấu trúc dữ liệu JavaScript: Đặt
  • Cấu trúc dữ liệu JavaScript: Từ điển
  • Cấu trúc dữ liệu JavaScript: Danh sách được liên kết
  • JavaScript, cách xuất một hàm
  • JavaScript, cách xuất nhiều hàm
  • JavaScript, cách thoát một hàm
  • JavaScript, cách tìm một ký tự trong một chuỗi
  • JavaScript, cách lọc một mảng
  • JavaScript, cách mở rộng một lớp
  • JavaScript, cách tìm các bản sao trong một mảng
  • JavaScript, cách thay thế một mục của một mảng
  • Thuật toán JavaScript: Tìm kiếm tuyến tính
  • Thuật toán JavaScript: Tìm kiếm nhị phân
  • Thuật toán JavaScript: Sắp xếp lựa chọn
  • Thuật toán JavaScript: Quicksort
  • Thuật toán JavaScript: Sắp xếp hợp nhất
  • Thuật toán JavaScript: Sắp xếp bong bóng

Video liên quan

Chủ Đề