By han, 14 September, 2022

Đã từ lâu lắm, loài chuột đã tổ chức một hội nghị chung để tính toán xem ở giới hạn nào chúng có thể đối phó với kẻ thù chung, loài mèo.

Một số con nói thế này, một số thì bảo thế nọ, cuối cùng có một con chuột nhỏ đứng dậy và hắn đã đưa ra một đề xuất cần làm, mà theo nó đề nghị cần được đáp ứng."

Mọi người đều đồng ý thế này", nó nói, "nguy hiểm lớn nhất của chúng ta chính là yếu tố ranh mãnh và xảo trá khi kẻ thù tiếp cận chúng ta.

Giờ đây, giá như chúng ta có thể nắm bắt được tín hiệu tiếp cận của kẻ thù, chúng ta có thể dễ dàng tẩu thoát.

By han, 7 September, 2022
Interfaces

Một giao diện tương tự như một lớp trừu tượng; thực sự các giao diện chiếm cùng một không gian tên như các lớp và các lớp trừu tượng. Vì lý do đó, bạn không thể xác định giao diện có cùng tên với một lớp. Giao diện là một lớp trừu tượng hoàn toàn; không có phương thức nào của nó được thực hiện và thay vì một phân lớp con từ nó, nó được cho là thực hiện giao diện đó.

Giao diện là một hợp đồng: Người viết giao diện nói, "này, tôi chấp nhận mọi thứ theo cách đó", và người sử dụng giao diện nói "OK, lớp tôi viết trông như vậy".

By han, 30 August, 2022

In JavaScript, standard built-in object-copy operations (spread syntax, Array.prototype.concat(), Array.prototype.slice(), Array.from(), Object.assign(), and Object.create()) do not create deep copies (instead, they create shallow copies).

Deep copy của một đối tượng là một bản sao có các thuộc tính không chia sẻ cùng các tham chiếu (trỏ đến cùng các giá trị cơ bản) với các thuộc tính của đối tượng nguồn mà từ đó bản sao được tạo ra.

By han, 30 August, 2022

Bản sao cạn của một đối tượng là một bản sao có các thuộc tính chia sẻ cùng các tham chiếu (trỏ đến các giá trị cơ bản giống nhau) với các thuộc tính của đối tượng nguồn mà từ đó bản sao được tạo ra.

Do đó, khi bạn thay đổi nguồn hoặc bản sao, bạn cũng có thể khiến đối tượng khác cũng thay đổi - và do đó, bạn có thể vô tình gây ra các thay đổi đối với nguồn hoặc bản sao mà bạn không mong đợi.

By han, 30 August, 2022

Currying là một kỹ thuật nâng cao để làm việc với các chức năng. Nó không chỉ được sử dụng trong JavaScript mà còn được sử dụng trong các ngôn ngữ khác.

Currying là một phép biến đổi hàm để chuyển một hàm từ có thể gọi là f (a, b, c) thành có thể gọi là f (a) (b) (c).

By han, 30 August, 2022

JavaScript Hoisting đề cập đến quá trình theo đó trình thông dịch dường như di chuyển phần khai báo của các hàm, biến hoặc lớp lên đầu phạm vi của chúng, trước khi thực thi mã.

Hoisting cho phép các hàm được sử dụng an toàn trong mã trước khi chúng được khai báo.