Giải thích Bản ghi JavaScript?

Giai Thich Ban Ghi Javascript



JavaScript đi kèm với kiểu dữ liệu không nguyên thủy “ Sự vật ” được bắt nguồn với sự trợ giúp của các kiểu dữ liệu nguyên thủy (tích hợp sẵn). “Đối tượng” hoạt động như một ví dụ để truy cập các thành viên JavaScript. Nó được sử dụng để gọi hàm JavaScript để thực hiện tác vụ cụ thể mà các kiểu dữ liệu nguyên thủy không thể thực hiện được. Tuy nhiên, một nhược điểm của loại dữ liệu này là nó thực hiện thao tác so sánh trên cơ sở danh tính chứ không phải nội dung. Để giải quyết vấn đề này, JavaScript cung cấp kiểu dữ liệu mới “ Hồ sơ ” vì nó so sánh chặt chẽ trên cơ sở nội dung của nó chứ không phải danh tính.

Hướng dẫn này giải thích Bản ghi JavaScript.







'Hồ sơ' là gì?

JavaScript “ Hồ sơ ” là một kiểu nguyên thủy mới (chuỗi, số, ký hiệu) tương tự như kiểu tích hợp sẵn . Sự khác biệt duy nhất là “Bản ghi” hoàn toàn không thay đổi, tức là giá trị của các khóa của chúng không thể thay đổi sau khi chúng được khởi tạo.



cú pháp



Cú pháp của “ Ghi ” giống hệt với một “Đối tượng”, nhưng nó yêu cầu một “ # (hash)” trước dấu ngoặc nhọn biểu thị nó là “Bản ghi”:





const đã ghi lạiName = #{
/*
giá trị cốt lõi
/*
}


Hãy sử dụng cú pháp đã nêu ở trên để tạo một bản ghi mới.

Làm thế nào để tạo hồ sơ?

Để tạo bản ghi, hãy chỉ định ký hiệu “#(hash)” ở đầu dấu ngoặc nhọn như được hiển thị trong khối mã bên dưới:



const người = #{
tên: 'Hoặc' ,
tên: 'Usman' ,
tuổi: hai mươi mốt ,
}
bảng điều khiển.log ( người.fname )
bảng điều khiển.log ( người.lname )
bảng điều khiển.log ( người.tuổi )


Trong khối mã trên:

    • Các ' người ” đề cập đến một “Bản ghi” mới có các khóa sau “fname”, “lname” và “age”.
    • Tiếp theo, phần “ bảng điều khiển. nhật ký() ” hiển thị lần lượt các giá trị khóa “person”.

Ghi chú: Người dùng cũng có thể chỉ định nội dung “Bản ghi” trong một dòng như sau:

const người = #{fname: 'Ali', lname: 'Usman', tuổi: 21}


đầu ra


Có thể thấy rằng đầu ra hiển thị tất cả các giá trị chính của Bản ghi “người” đã tạo.

Giới hạn hồ sơ

“Bản ghi” không chấp nhận “Mảng” và “Đối tượng” làm khóa của nó. Nếu người dùng chuyển chúng tới một Bản ghi thì trình biên dịch sẽ tạo ra một “ LoạiLỗi ”. Khối mã sau đây hiển thị nó một cách thực tế:

const newRecord = #{
mảng: [ 'HTML' , 'CSS' , 'JavaScript' ]
}
bảng điều khiển.log ( người.arr )


Trong các dòng mã trên:

    • Các ' bản ghi mới ” khởi tạo một mảng có tên là “arr” làm khóa của nó.
    • Tiếp theo, phần “ bảng điều khiển. nhật ký() ” hiển thị giá trị khóa “arr” được chỉ định trong “newRecord”.

đầu ra


Bảng điều khiển hiển thị “Lỗi loại (chuyển loại không mong muốn)” vì “Bản ghi” không chấp nhận một mảng làm khóa.

Hiểu các bản ghi JavaScript bằng các ví dụ

Phần này bao gồm việc sử dụng “Hồ sơ” trong thực tế với sự trợ giúp của các ví dụ đã cho.

Hãy bắt đầu với ví dụ đầu tiên.

Ví dụ 1: Bản ghi là bất biến sâu sắc

JavaScript “ Hồ sơ ” là những kiểu nguyên thủy bất biến sâu sắc. Tính “bất biến sâu sắc” có nghĩa là tất cả các giá trị chính của Bản ghi không thể được sửa đổi hoặc thay đổi ở bất kỳ cấp độ nào sau khi chúng đã được đặt. Các loại 'nguyên thủy' biểu thị tất cả các loại dữ liệu JavaScript cơ bản như chuỗi, số, null, không xác định và nhiều loại khác.

Khối mã sau đây hiển thị khái niệm đã nêu trên thực tế:

const myRecord = #{
tên: 'Hoặc' ,
tuổi: hai mươi mốt ,
}
myRecord.name= 'Haron'


Trong khối mã trên, “ hồ sơ của tôi ' chìa khóa ' tên ” giá trị được sửa đổi sau khi khởi tạo.

đầu ra


Có thể thấy rằng trình biên dịch hiển thị “TypeError” khi sửa đổi giá trị khóa “newRecord”.

Ví dụ 2: Bản ghi có tính chất so sánh

Ưu điểm chính của “Hồ sơ” là chúng được so sánh dựa trên giá trị chứ không phải danh tính. Trong khi các “Đối tượng” so sánh theo danh tính của chúng, không phải theo giá trị. Nếu hai giá trị Bản ghi bằng nhau thì trình biên dịch sẽ truy xuất giá trị true.

Hãy cùng xem thực tế với sự trợ giúp của các dòng mã đã cho:

const myRecord = #{
tên: 'Hoặc' ,
tuổi: hai mươi mốt ,
}
bảng điều khiển.log ( myRecord === #{
tên: 'Hoặc' ,
tuổi: hai mươi mốt ,
} ) ;


Ở đây, đoạn mã trên tạo hai Bản ghi được so sánh với sự trợ giúp của “ bình đẳng nghiêm ngặt (===)” toán tử.

đầu ra


Đầu ra trả về một “ ĐÚNG VẬY ” Giá trị Boolean có nghĩa là các toán tử được chỉ định, tức là “Bản ghi” bằng nhau.

Ví dụ 3: Chuyển Bản ghi thành Đối tượng

“Bản ghi” JavaScript cũng có thể được chuyển đổi thành kiểu dữ liệu “Đối tượng” với sự trợ giúp của hàm tạo “Đối tượng”. Đây là triển khai thực tế của nó:

cho phép Bản ghi của tôi = #{ Một: 1, Hai: 2 }
bảng điều khiển.log ( Sự vật ( hồ sơ của tôi ) )
bảng điều khiển.log ( typeof myRecord )


Trong các dòng mã trên:

    • Đầu tiên “ lconsole.and() ” phương thức sử dụng hàm tạo “Object” để chuyển đổi “ hồ sơ của tôi ” thành một “đối tượng.
    • Phương thức “console.log()” thứ hai sử dụng “ loại ” để kiểm tra loại “myRecord”.

đầu ra


Đầu ra hiển thị “newRecord” được chuyển đổi dưới dạng “ Sự vật ” để xác nhận rằng “newRecord” đã được chuyển đổi thành công thành một “đối tượng”.

Ví dụ 4: Chuyển đổi đối tượng thành bản ghi

Người dùng cũng có thể chuyển đổi “Đối tượng” thành “Bản ghi” cho mục đích so sánh với sự trợ giúp của “ Ghi() ' phương pháp. Hãy làm điều đó một cách thực tế:

cho phép myObj = { Một: 1 , Hai: 2 }
cho phép myRecord = Bản ghi ( myObj )
bảng điều khiển.log ( hồ sơ của tôi )


Bây giờ, đoạn mã trên sử dụng “ Ghi() ” để chuyển đổi đối tượng “myObj” đã cho thành “myRecord”.

đầu ra


Đầu ra hiển thị thành công đối tượng đã chuyển đổi “myObj” thành nội dung “myRecord”.

Ví dụ 5: Tạo bản ghi mới từ bản ghi hiện có

Như đã thảo luận trong ví dụ đầu tiên, “Bản ghi” là bất biến, tức là các giá trị chính của chúng không thể sửa đổi được. Tuy nhiên, người dùng có thể tạo một “Bản ghi” mới từ “Bản ghi” hiện có cùng với việc bổ sung một số giá trị khác.

Thực hiện theo đoạn mã đã cho để tạo bản ghi mới từ bản ghi hiện có:

cho phép oldRecord = #{A: 1, B: 2 };
cho phép bản ghi mới = #{ ...myRecord, C: 3, D:4}
bảng điều khiển.log ( bản ghi mới )


Trong mã JavaScript ở trên:

    • Các ' bản ghi cũ ” đề cập đến một bản ghi hiện có có hai giá trị chính.
    • Tiếp theo “ bản ghi mới ” tương ứng với một Bản ghi mới được tạo với sự trợ giúp của “oldRecord” hiện có và cũng bằng cách thêm các giá trị khóa được chỉ định mới.
    • Cuối cùng, “ bảng điều khiển. nhật ký() ” hiển thị Bản ghi mới được tạo có tên là “newRecord”.

đầu ra


Đầu ra hiển thị tất cả các giá trị chính của Bản ghi mới được tạo.

Ví dụ 6: Truy cập Bản ghi Sử dụng Phương thức “Object.keys()”

Người dùng có thể sử dụng JavaScript tích hợp sẵn “ phím() ' phương pháp ' Sự vật ” để truy cập các khóa của Bản ghi. Trong trường hợp này, nó được sử dụng để truy cập các khóa “myRecord”:

cho phép Bản ghi của tôi = #{A: 1, B: 2 };
cho phép recordKeys = Object.keys ( hồ sơ của tôi ) ;
bảng điều khiển.log ( bản ghiKeys )


Đoạn mã trên sử dụng “ Object.keys() ” để truy cập tất cả các khóa có trong “myRecord”.

đầu ra


Đầu ra hiển thị tất cả các khóa của “myRecord” ở định dạng mảng và cả các chỉ mục của chúng ở định dạng cặp khóa-giá trị.

Phần kết luận

JavaScript “ Hồ sơ ” là loại dữ liệu cấp cao không thể thay đổi sâu sắc. Nó hoạt động tương tự như một “Đối tượng” nhưng điểm khác biệt chính là giá trị của nó có thể được thay đổi hoặc cập nhật sau khi đã được đặt. Nó yêu cầu ký hiệu “#(hash)” trước dấu ngoặc nhọn để khai báo nếu không nó hoạt động như một đối tượng. Hướng dẫn này giải thích ngắn gọn về loại dữ liệu Bản ghi JavaScript.