Hướng dẫn what is javascript structure? - cấu trúc javascript là gì?

JavaScript là một ngôn ngữ đa hình, động lực với các loại và toán tử, các đối tượng tích hợp tiêu chuẩn và phương pháp. Cú pháp của nó dựa trên các ngôn ngữ Java và C - nhiều cấu trúc từ các ngôn ngữ đó cũng áp dụng cho JavaScript. JavaScript hỗ trợ lập trình hướng đối tượng với các nguyên mẫu và lớp đối tượng. Nó cũng hỗ trợ lập trình chức năng vì các chức năng là hạng nhất có thể dễ dàng tạo thông qua các biểu thức và được truyền xung quanh như bất kỳ đối tượng nào khác.

Trang này đóng vai trò là tổng quan nhanh về các tính năng ngôn ngữ JavaScript khác nhau, được viết cho người đọc có nền bằng các ngôn ngữ khác, chẳng hạn như C hoặc Java.

Loại dữ liệu

Hãy bắt đầu bằng cách nhìn vào các khối xây dựng của bất kỳ ngôn ngữ nào: các loại. Các chương trình JavaScript thao tác các giá trị và tất cả các giá trị đó thuộc về một loại. JavaScript cung cấp bảy loại nguyên thủy:

  • Số: Được sử dụng cho tất cả các giá trị số [số nguyên và điểm nổi] ngoại trừ các số nguyên rất lớn.
  • Bigint: Được sử dụng cho các số nguyên lớn tùy ý.
  • Chuỗi: Được sử dụng để lưu trữ văn bản.
  • Boolean:
    console.log["Hello, world"];
    console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
    
    6 và
    console.log["Hello, world"];
    console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
    
    7 - thường được sử dụng cho logic có điều kiện.
  • Biểu tượng: Được sử dụng để tạo các định danh độc đáo sẽ không va chạm.
  • Không xác định: Chỉ ra rằng một biến chưa được gán một giá trị.
  • NULL: Chỉ ra một giá trị có giá trị có chủ ý.

Mọi thứ khác được gọi là một đối tượng. Các loại đối tượng phổ biến bao gồm:

  • console.log["Hello, world"];
    console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
    
    8
  • console.log["Hello, world"];
    console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
    
    9
  • console.log["Hello"[1] === "e"]; // true
    
    0
  • console.log["Hello"[1] === "e"]; // true
    
    1
  • console.log["Hello"[1] === "e"]; // true
    
    2

Các chức năng không phải là cấu trúc dữ liệu đặc biệt trong JavaScript - chúng chỉ là một loại đối tượng đặc biệt có thể được gọi.

Số

JavaScript có hai loại số tích hợp: số và bigint.

Loại số là giá trị điểm nổi độ chính xác kép của IEEE 754 64 bit, có nghĩa là số nguyên có thể được biểu diễn một cách an toàn giữa-[253-1] và 253-1 mà không bị mất độ chính xác và số điểm nổi có thể được lưu trữ trong suốt thời gian Lên đến 1,79 × 10308. Trong các số, JavaScript không phân biệt giữa số điểm nổi và số nguyên.

console.log[3 / 2]; // 1.5, not 1

Vì vậy, một số nguyên rõ ràng trong thực tế là một chiếc phao. Do mã hóa IEEE 754, đôi khi số học điểm nổi có thể không chính xác.

console.log[0.1 + 0.2]; // 0.30000000000000004

Đối với các hoạt động mong đợi các số nguyên, chẳng hạn như các hoạt động bitwise, số lượng sẽ được chuyển đổi thành số nguyên 32 bit.

Số chữ số cũng có thể có tiền tố để chỉ ra cơ sở [nhị phân, bát phân, thập phân hoặc thập lục phân] hoặc hậu tố số mũ.

console.log[0b111110111]; // 503
console.log[0o767]; // 503
console.log[0x1f7]; // 503
console.log[5.03e2]; // 503

Loại lớn là một số nguyên chiều dài tùy ý. Hành vi của nó tương tự như các loại số nguyên của C. Bigint được chỉ định với một số theo nghĩa đen và hậu tố

console.log["Hello"[1] === "e"]; // true
3.

console.log[-3n / 2n]; // -1n

Các toán tử số học tiêu chuẩn được hỗ trợ, bao gồm bổ sung, trừ, số học còn lại, v.v ... Bigint và số không thể được trộn lẫn trong các hoạt động số học.

Đối tượng

console.log["Hello"[1] === "e"]; // true
4 cung cấp các hàm và hằng số toán học tiêu chuẩn.

Math.sin[3.5];
const circumference = 2 * Math.PI * r;

Có ba cách để chuyển đổi một chuỗi thành một số:

  • console.log["Hello"[1] === "e"]; // true
    
    5, phân tích chuỗi cho một số nguyên.
  • console.log["Hello"[1] === "e"]; // true
    
    6, phân tích chuỗi cho một số điểm nổi.
  • Hàm
    console.log["Hello"[1] === "e"]; // true
    
    7, phân tích một chuỗi như thể đó là một số theo nghĩa đen và hỗ trợ nhiều biểu diễn số khác nhau.

Bạn cũng có thể sử dụng Unary Plus

console.log["Hello"[1] === "e"]; // true
8 làm tốc ký cho
console.log["Hello"[1] === "e"]; // true
7.

Giá trị số cũng bao gồm

const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
0 [viết tắt cho "không phải số"] và
const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
1. Nhiều hoạt động "Toán học không hợp lệ" sẽ trả về
const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
0-ví dụ: nếu cố gắng phân tích chuỗi không phải là Numeric hoặc sử dụng
const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
3 trên một giá trị âm. Phân chia theo 0 tạo ra
const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
1 [tích cực hoặc tiêu cực].

const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
0 rất dễ lây lan: Nếu bạn cung cấp nó như một toán hạng cho bất kỳ hoạt động toán học nào, kết quả cũng sẽ là
const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
0.
const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
0 là giá trị duy nhất trong JavaScript không bằng chính nó [theo thông số kỹ thuật của IEEE 754].

Dây

Các chuỗi trong JavaScript là chuỗi các ký tự Unicode. Đây nên là tin tức đáng hoan nghênh cho bất cứ ai đã phải đối phó với quốc tế hóa. Chính xác hơn, chúng được mã hóa UTF-16.

console.log["Hello, world"];
console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals

Chuỗi có thể được viết bằng trích dẫn đơn hoặc đôi - JavaScript không có sự khác biệt giữa các ký tự và chuỗi. Nếu bạn muốn đại diện cho một ký tự duy nhất, bạn chỉ cần sử dụng một chuỗi bao gồm một ký tự duy nhất đó.

console.log["Hello"[1] === "e"]; // true

Để tìm độ dài của một chuỗi [trong các đơn vị mã], hãy truy cập thuộc tính

const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal
8 của nó.

Chuỗi có các phương thức tiện ích để thao tác chuỗi và truy cập thông tin về chuỗi. Bởi vì tất cả các nguyên thủy là bất biến theo thiết kế, các phương pháp này trả về các chuỗi mới.

Toán tử

console.log["Hello"[1] === "e"]; // true
8 bị quá tải cho các chuỗi: khi một trong các toán hạng là một chuỗi, nó thực hiện kết hợp chuỗi thay vì bổ sung số. Một cú pháp theo nghĩa đen của mẫu đặc biệt cho phép bạn viết các chuỗi với các biểu thức nhúng ngắn gọn hơn. Không giống như các chuỗi được nội suy của Python hoặc các chuỗi được nội suy của C#, các chữ cái mẫu sử dụng backticks [không phải là trích dẫn đơn hoặc kép].

const age = 25;
console.log["I am " + age + " years old."]; // String concatenation
console.log[`I am ${age} years old.`]; // Template literal

Các loại khác

JavaScript phân biệt giữa

Boolean[""]; // false
Boolean[234]; // true
0, cho thấy một giá trị không có giá trị có chủ ý [và chỉ có thể truy cập được thông qua từ khóa
Boolean[""]; // false
Boolean[234]; // true
0] và
Boolean[""]; // false
Boolean[234]; // true
2, cho thấy sự vắng mặt của giá trị. Có nhiều cách để có được
Boolean[""]; // false
Boolean[234]; // true
2:

  • Một câu lệnh
    Boolean[""]; // false
    Boolean[234]; // true
    
    4 không có giá trị [
    Boolean[""]; // false
    Boolean[234]; // true
    
    5] ngầm trả về
    Boolean[""]; // false
    Boolean[234]; // true
    
    2.
  • Truy cập thuộc tính đối tượng không tồn tại [
    Boolean[""]; // false
    Boolean[234]; // true
    
    7] trả về
    Boolean[""]; // false
    Boolean[234]; // true
    
    2.
  • Một khai báo biến mà không cần khởi tạo [
    Boolean[""]; // false
    Boolean[234]; // true
    
    9] sẽ ngầm khởi tạo biến thành
    Boolean[""]; // false
    Boolean[234]; // true
    
    2.

JavaScript có loại boolean, với các giá trị có thể

console.log["Hello, world"];
console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
6 và
console.log["Hello, world"];
console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
7 - cả hai đều là từ khóa. Bất kỳ giá trị nào cũng có thể được chuyển đổi thành Boolean theo các quy tắc sau:

  1. console.log["Hello, world"];
    console.log["你好,世界!"]; // Nearly all Unicode characters can be written literally in string literals
    
    7,
    let a;
    let name = "Simon";
    
    // myLetVariable is *not* visible out here
    
    for [let myLetVariable = 0; myLetVariable 

Chủ Đề