Hàm tĩnh trong JavaScript cho phép bạn xác định một phương thức tĩnh cho một lớp. Tìm hiểu thêm về cách gọi phương thức tĩnh trực tiếp trên một lớp trong hướng dẫn này.

Bạn đang xem : Phương thức static trong javascript class

static trong javascript từ khóa static JavaScript static là một phương thức thuộc về một lớp chứ không phải là một thể hiện của lớp đó. Do đó, bạn sẽ không cần một phiên bản để gọi static method , thay vào đó, bạn có thể gọi các phương thức trên chính lớp đó.

Với lưu ý đó, định nghĩa về các phương thức của lớp tĩnh được thực hiện trên chính lớp đó và bạn chỉ có thể gọi một phương thức tĩnh trên một lớp đối tượng.

Bài viết này xem xét các biến tĩnh, lớp, phương thức và hàm trong JavaScript.

Tĩnh trong JavaScript: Từ khóa Tĩnh

Để xác định thuộc tính hoặc phương thức tĩnh cho một lớp hoặc khối khởi tạo lớp, bạn sẽ cần từ khóa static. Nói một cách đơn giản, bạn cần từ khóa static để khai báo phương thức tĩnh . Bạn không thể gọi thuộc tính tĩnh hoặc phương thức tĩnh trên các thể hiện của một lớp. Thay vào đó, hãy gọi chúng trên chính lớp đó.

Một phương thức tĩnh JavaScript là một hàm tiện ích; ví dụ, nó có thể là một chức năng sao chép hoặc tạo các đối tượng. Mặt khác, thuộc tính tĩnh có lợi cho các cấu hình cố định, bộ nhớ đệm hoặc dữ liệu mà bạn không muốn sao chép giữa các phiên bản.

Cú pháp:

static methodName () {…}

static propertyName [= value];

JavaScript Static Method

Các phương thức tĩnh trong JavaScript rất hữu ích để xác định các phương thức tiện ích hoặc trợ giúp. Các phương thức đã được giới thiệu trong ES6 để lập trình hướng đối tượng các phương thức cụ thể. Trước đó, việc xác định một phương thức tĩnh cần phải bổ sung một phương thức trực tiếp vào hàm tạo.

Hôm nay, chúng tôi sử dụng từ khóa static cùng với chữ ký phương thức (static methodName () {}) để khai báo một phương thức tĩnh .

Vì các phương thức tĩnh được thực hiện để gọi trực tiếp trên lớp chứ không phải các phiên bản của một lớp, chúng ta có thể nói rằng static trong JavaScript thuộc về lớp chứ không phải phiên bản của lớp.

Bạn có thể sử dụng từ khóa static để xác định bất kỳ phương thức JS nào làm phương thức tĩnh. Không có quy tắc nào để chỉ định tên phương thức vì chúng có thể là bất kỳ thứ gì .

JavaScript Static Function: Tóm tắt về điểm

  • Phương thức tĩnh yêu cầu một đối tượng lớp phải được tạo trước khi được gọi . Gọi các đối tượng lớp nơi chúng được định nghĩa nếu bạn muốn gọi chúng. Bạn có thể gọi phương thức tĩnh theo hai cách: sử dụng hàm tạo hoặc từ khóa.
  • Một phương thức tĩnh không thể gọi trực tiếp một phương thức không tĩnh vì một phương thức không tĩnh sử dụng trạng thái biến cá thể để ảnh hưởng đến hành vi của nó. Ngoài ra, phương thức static không thể nhìn thấy một biến thể hiện; do đó, trình biên dịch sẽ kéo khi bạn gọi phương thức không tĩnh từ một phương thức tĩnh.
  • Tương tự, các phương thức tĩnh không thể sử dụng các biến cá thể không phải là tĩnh vì một phương thức tĩnh không thể tham chiếu đến các biến cá thể của một lớp. Thông thường, phương thức static không biết giá trị của một phiên bản để sử dụng.
  • Các phương thức không tĩnh có các từ khóa và tên phương thức tĩnh và nếu bạn muốn làm việc với chúng (các phương thức không tĩnh), bạn phải tạo đối tượng của lớp đó vì nó thuộc về lớp mà nó được khai báo. Các phương thức không tĩnh có thể truy cập bất kỳ phương thức và biến tĩnh nào mà không có cá thể lớp.

– Khi nào sử dụng từ khóa này

Hơn nữa, bạn nên sử dụng từ khóa này nếu bạn phải gọi một phương thức tĩnh từ một phương thức tĩnh khác . Tuy nhiên, nếu bạn muốn gọi một phương thức tĩnh từ một phương thức không tĩnh, bạn có hai cách tiếp cận:

  • Sử dụng tên lớp , tức là classname.static_method_name ();
  • Sử dụng thuộc tính hàm tạo , tức là this.constructor.static_method_name ();

JavaScript ES6 đã giới thiệu các lớp, giúp việc sử dụng các hàm tạo, phương thức tĩnh, kế thừa và các lệnh gọi cấp cao đến cha mẹ dễ dàng hơn. Biến tĩnh JavaScript trong lớp giúp khả năng tương tác dễ dàng hơn nhiều cho các nhà phát triển JS. Ví dụ: bạn có thể có một lớp con đối với lớp cha và bất kỳ phương thức nào bạn khai báo trong lớp cha sẽ có sẵn trong các lớp con.

Trong ES5, có trình truy cập getter và setter , cũng có thể được sử dụng với từ khóa static.

Thuộc tính tĩnh JavaScript & amp; Phương thức (Ví dụ)

từ khóa ‘static’ mô tả một phương thức tĩnh cho một lớp, nó sẽ gán một phương thức cho hàm lớp chứ không phải cho “nguyên mẫu” của nó. Xem ví dụ dưới đây:

lớp học bò {
static staticMethod () {
console.log (this === Cow);
}
}
Cow.staticMethod (); // true
Điều này tương tự như việc gán trực tiếp nó như một thuộc tính. Kiểm tra cái này:
lớp học bò {}
Cow.staticMethod = function () {
console.log (this === Cow);
};
Cow.staticMethod (); // thật

Hàm tạo lớp Cow là giá trị này trong lệnh gọi Cow.staticMethod (). Đây là trường hợp theo quy tắc, “đối tượng trước dấu chấm.” Giải thích về quy tắc là các nhà phát triển sử dụng phương thức tĩnh để triển khai các hàm thuộc về lớp chứ không phải bất kỳ đối tượng cụ thể nào.

Ví dụ: nếu bạn có các đối tượng Xe hơi và bạn cần một hàm để so sánh chúng, thì thêm phương thức Subaru.compare có thể là một giải pháp tự nhiên.

lớp Subaru {
hàm tạo (mô hình, ngày tháng) {
this.model = model;
this.date = date;
}
so sánh tĩnh (subaruA, subaruB) {
trả về subaruA.date – subaruB.date;
}
}
// sử dụng
hãy để subarus = [
Subaru mới (“HTML”, Ngày mới (2021, 1, 1)),
Subaru mới (“CSS”, Ngày mới (2021, 0, 5)),
Subaru mới (“JavaScript”, Ngày mới (2018, 2, 1)),
Subaru mới (“Git”, Ngày mới (2017, 12, 4))
];
subarus.sort (Subaru.compare);
console.log (subarus [0] .model); // Git

Trong trường hợp này, Subaru.compare là các bài viết “ở trên”, để phân biệt chúng, không phải như một phương thức bài viết. Thay vào đó, nó là phương thức của toàn bộ lớp .

– Thuộc tính tĩnh

Thuộc tính tĩnh là một bổ sung gần đây cho JavaScript. Do đó, các ví dụ của nó hoạt động tốt với các phiên bản Chrome mới nhất. Thuộc tính static giống với thuộc tính lớp nhưng thay thế stat bằng static.

Ví dụ:

lass Subaru {
nhà sản xuất tĩnh = “Nhật Bản”;
}
console.log (Nhà sản xuất Subaru); // Nhật Bản

Điều này tương tự như phân công trực tiếp :

Subaru.manprisurer = “Nhật Bản”

– Kế thừa các thuộc tính và phương thức tĩnh

Cả thuộc tính tĩnh và phương thức đều có thể được kế thừa . Ví dụ:

xe hạng {
static State = “Texas”;
hàm tạo (mô hình, tốc độ) {
this.speed = speed;
this.model = model;
}
lái xe (tốc độ = 0) {
this.speed + = speed;
console.log (`$ {this.model} ổ đĩa với tốc độ $ {this.speed} .`);
}
so sánh tĩnh (carA, carB) {
trả lại carA.speed – carB.speed;
}
}
// Kế thừa từ Ô tô
lớp MyCar mở rộng Xe hơi {
đã đỗ () {
console.log (`$ {this.model} đang đỗ! ‘);
}
}
để ô tô = [
MyCar mới (“Xe màu đỏ”, 70),
MyCar mới (“Xe màu cam”, 90)
];
ô tô.sort (MyCar.compare);
ô tô [0] .drive (); // Ô tô màu đỏ lái với tốc độ 70.
console.log (MyCar.State); // Texas

Khi bạn gọi MyCar.compare, nó sẽ gọi Car.compare kế thừa . do đó, MyCar Extended Car sẽ tạo hai tham chiếu [[Prototype]] :

  • MyCar.prototype kế thừa từ Car.prototype.
  • Chức năng MyCar kế thừa từ chức năng Xe hơi.

JavaScript Static Class: Những gì chúng đại diện cho

Các lớp tĩnh tương tự như các lớp không tĩnh ngoại trừ việc không thể khởi tạo các phương thức tĩnh . Có nghĩa là, bạn không thể sử dụng một toán tử mới để tạo một biến kiểu lớp.

Các lớp tĩnh JavaScript là các vùng chứa thuận tiện cho các phương thức hoạt động trên các tham số đầu vào và không cần đặt hoặc lấy bất kỳ trường phiên bản nội bộ nào.

– Phương thức tĩnh và cá thể lớp

Như chúng tôi đã nêu trước đó, bạn chỉ có thể gọi một phương thức tĩnh trên lớp mà nó được định nghĩa . Nếu bạn tạo một phiên bản của lớp cụ thể đó và cố gắng gọi một phương thức tĩnh, nó sẽ trả về một TypeError . Bạn sẽ gặp lỗi tương tự khi gọi một phương thức công khai trên một lớp mà không khởi tạo nó trước.

– Phương pháp tĩnh và từ khóa ‘Cái này’

Từ khóa ‘this’ trong JavaScript gọi các phương thức tĩnh trong các phương thức tĩnh khác . Khi định nghĩa các phương thức tĩnh trong các lớp, giá trị của nó là chính lớp đó. Hãy nhớ rằng, bạn không thể truy cập các phương thức tĩnh từ các phiên bản; điều này sẽ không thay đổi theo thời gian.

– Thuộc tính tĩnh

Các thuộc tính tĩnh hoạt động giống như các phương thức tĩnh. Bạn có thể sử dụng chúng theo hai cách :

  • Trực tiếp trong một lớp học . Ở đây, bạn cần thêm thuộc tính trước từ khóa static.
  • Bên ngoài lớp học. Tại đây, bạn sẽ sử dụng ký hiệu dấu chấm.

– Thuộc tính tĩnh và cá thể lớp

Bạn chỉ có thể truy cập các thuộc tính tĩnh trong các lớp mà chúng được xác định . Các cá thể không thể nhìn thấy các thuộc tính này của lớp đó. JavaScript sẽ trả về không xác định nếu bạn truy cập thuộc tính tĩnh từ phiên bản lớp.

– Truy cập thuộc tính tĩnh từ các phương thức

Để gọi một phương thức công khai trong JavaScript, trước tiên bạn phải khởi tạo nó . Nếu không, JavaScript sẽ không cho phép nó. Do đó, bạn không thể sử dụng phương thức công khai để truy cập bất kỳ thuộc tính tĩnh nào, tức là một lớp và bản sao của nó.

Vì vậy, bạn có hai cách để truy cập thuộc tính tĩnh trong các lớp:

  • Từ khoá tĩnh
  • Phương thức hàm tạo lớp

Thuộc tính và phương thức tĩnh & amp; Kế thừa giai cấp

Các cá thể lớp không thể thấy các thuộc tính và phương thức tĩnh và do đó không thể truy cập chúng . Tuy nhiên, điều này không áp dụng cho các lớp con hoặc lớp con. Điều này được cho là do kế thừa nguyên mẫu (thuộc tính Nguyên mẫu), một loại kế thừa trong JavaScript .

Mỗi lớp mới được tạo đều có [[nguyên mẫu]] riêng. Ví dụ: một lớp mới, “MyClass,” có một nguyên mẫu là “MyClass.” Bạn có thể sử dụng lớp này để mở rộng các lớp khác và nguyên mẫu của các lớp mới đó sẽ tham chiếu đến nguyên mẫu siêu lớp. Trong trường hợp này, nguyên mẫu lớp “MyClass” sẽ tham chiếu đến “MyClass”. Khi bạn truy cập các phương thức hoặc thuộc tính, JavaScript sẽ tìm kiếm thuộc tính hoặc phương thức đó trong lớp con đó trước tiên .

Nếu nó tìm thấy một phương thức / thuộc tính trên các lớp con, nó sẽ truy cập nó; nếu không, nó sẽ xem xét nguyên mẫu lớp con và lớp cha, hoặc lớp cha, bạn đã sử dụng để mở rộng lớp con đó. Nếu nó tìm thấy thuộc tính / phương thức trên lớp cha, nó cũng truy cập nó.

Tóm tắt

Đây là những gì chúng tôi đã đề cập trong bài viết giải thích đặc điểm cụ thể của JavaScript tĩnh :

  • Các phương thức và thuộc tính tĩnh là hai tính năng quan trọng của các lớp JavaScript
  • Mọi thuộc tính và phương thức tĩnh đều bắt đầu bằng một từ khóa tĩnh
  • Bạn không thể khởi tạo một lớp tĩnh
  • Một phương thức lớp tĩnh thuộc về lớp, không phải là trường hợp của một lớp
  • Bạn có thể có bao nhiêu phương thức lớp tĩnh tùy thích, kể cả những phương thức có tên tương tự. Trình dịch luôn gọi các phương thức tĩnh cuối cùng nếu hai hoặc nhiều phương thức có tên giống nhau

Từ khóa tĩnh trong javascript Bây giờ, bạn biết điều đó bạn có thể gọi một phương thức tĩnh trực tiếp từ một lớp bằng cách sử dụng tên lớp. Có một phương thức là static đi kèm với lợi thế là không yêu cầu phiên bản của đối tượng khi gọi hàm static JavaScript , vì bạn chỉ yêu cầu một tham chiếu đến hàm tạo đó. Với kiến ​​thức này, bạn nên tạo ra các chương trình không có lỗi và lỗi cũng như tách biệt hành vi khỏi dữ liệu.

5/5 – (18 phiếu bầu)

Bây giờ, bạn đã biết cách sử dụng tên lớp. Có một phương thức là static đi kèm với lợi thế là không yêu cầu một thể hiện của đối tượng, vì bạn chỉ yêu cầu một tham chiếu đến phương thức khởi tạo đó. Với kiến ​​thức này, bạn nên tạo ra các chương trình không có lỗi và lỗi cũng như tách biệt hành vi khỏi dữ liệu.


Xem thêm những thông tin liên quan đến chủ đề phương thức tĩnh của lớp javascript

[#JS07] JavaScript – Hàm (Function) trong JavaScript

alt

  • Tác giả: laptrinhvienio
  • Ngày đăng: 2018-04-19
  • Đánh giá: 4 ⭐ ( 3324 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [JS07] JavaScript – Hàm (Function) trong JavaScript
    —————————-
    Đây là series giới thiệu về Web Front End Cơ Bản (https://laptrinhvien.io/video) của Trung Tâm Đào Tạo Lập Trình Viên JANETO (https://laptrinhvien.io).

    Chúng tôi mong muốn mang lại những kiến thức bổ ích cho các bạn yêu thích lập trình web. Các bạn hãy đón xem và cổ vũ bằng cách LIKE/SHARE hay SUBCRIBE nha.

    Hiện nay, Trung Tâm đang mở các lớp mới.
    Các bạn hãy xem chi tiết ở đây và đăng ký học nha:
    ►►► https://laptrinhvien.io/lich-khai-giang/

    Visit us: https://laptrinhvien.io/
    Follow us: https://www.facebook.com/laptrinhvienio
    Hotline: 0933 06 7997 – 0933 26 7337
    Address: Tầng 2, Tòa Nhà The Morning Star – 57 Quốc Lộ 13, Phường 26, Quận Bình Thạnh, TP. Hồ Chí Minh

Phương thức (Method) trong Java

  • Tác giả: quachquynh.com
  • Đánh giá: 4 ⭐ ( 6126 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Lớp trong Javascript

  • Tác giả: blog.codegym.vn
  • Đánh giá: 4 ⭐ ( 5662 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

JavaScript dễ dàng Phần 10: Lớp trong JavaScript?

  • Tác giả: helpex.vn
  • Đánh giá: 4 ⭐ ( 3457 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ECMAScript 6 đã giới thiệu từ khóa lớp để tạo các lớp trong JavaScript. Bây giờ, bạn chỉ có thể sử dụng thuộc tính lớp để tạo một lớp trong JavaScript. Trước ECMA 6, bất cứ khi nào bạn gọi…

Cách dùng static trong Javascript (thuộc tính và phương thức tĩnh)

  • Tác giả: mylop.edu.vn
  • Đánh giá: 5 ⭐ ( 7015 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này chúng ta sẽ tìm hiểu cách sử dụng từ khóa static trong javascript, qua đó sẽ giúp bạn hiểu được cách sử dụng static để tạo ra các thuộc tính và

Cách dùng static trong Javascript (thuộc tính và phương thức tĩnh)

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 1013 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Static trong javascript là gì? Static là một từ khóa giúp ta khai báo những phương thức tĩnh hoặc thuộc tính tĩnh trong các class của javascript

Phương thức lớp so với phương thức tĩnh trong JavaScript

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 4235 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Trước hết, hãy nhớ rằng JavaScript chủ yếu là ngôn ngữ nguyên mẫu , thay vì…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Cách sử dụng thuộc tính! Important trong CSS - từ khóa quan trọng trong css

By ads_php