JavaScript không thể khai báo thuộc tính trong class giống OOP

Hi there, giải thích giúp mình cái prototype này với mọi ơi:
Tại sao trong JS không thể viết như này:

class Hihi{
     var thuocTinh=9999;
     constructor (thuocTinh){
        this.thuocTinh=thuocTinh;
      }
}

Nó bắt khai báo mọi thuộc tính trong constructor đó mọi người ạ. Thanks all!

thì cú pháp nó quy định, bạn viết sai cú pháp

5 Likes

JS vẫn khai báo được class fields :slight_smile: bạn sai cú pháp thôi.

static thuocTinh = 9999
5 Likes

mà như vậy biến static không thuộc về object nữa, nó là biến tĩnh tách rời với mỗi object được tạo ra đúng không bạn, chứ không giống cách khai báo thuộc tính như OOP VD: public int thuocTinh = 9999; ?

Oops :slight_smile:
Member field thì không dùng từ khóa var thôi.

5 Likes

Thứ mà bạn có thể đem từ ngôn ngữ này sang ngôn ngữ khác, là tư duy, chứ không phải cú pháp.
Khi học ngôn ngữ mới, cần tuân thủ cú pháp của nó.
https://www.w3schools.com/js/js_classes.asp
Miễn nó đáp ứng được yêu cầu của bạn thì không có vấn đề gì cả, đừng áp đặt.

Còn để tìm hiểu tại sao nó lại như vậy mà không phải như vậy, để hiểu bản chất, thì lại là một vấn đề khác nâng cao hơn, mới bắt đầu cũng không cần thiết phải đào sâu.

6 Likes

JS đâu có class đâu mà đòi khai báo thuộc tính trong class :V :V

ý trong cái link kia bảo

ECMAScript 2015, also known as ES6, introduced JavaScript Classes.

có rồi à =]

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?