bạn đã thấy được bao nhiều người code js trong thực tế để đưa ra kết luận này
có lý do gì để bạn muốn viết constructor bằng arrow function không?
trở lại với câu chuyện pure function, đây chắc là nguyên nhân cho sự nhầm lẫn của bạn về pure function và arrow function
bạn có cảm giác đó vì bạn chưa có nhu cầu code khác như vậy
trở lại với điều cơ bản nhất, mục đích của function ra đời là để làm gì? bạn tự trả lời thôi
code ngôn ngữ nào là do nhu cầu, bạn thích java thì cứ code java, sao bạn lại code js rồi lại muốn js code giống java
nếu kiểu nào cũng đáp ứng được nhu cầu, thì cứ chọn kiểu bạn thích
miễn sao bạn và partner/team của bạn đọc hiểu bạn viết gì là được rồi
troll vậy thôi chứ hỏi câu này khá chính đáng, đẻ ra lắm thứ cú pháp để làm gì?
cái này là do syntax parser nó define như vậy
x = a*b*c*d
x = (a*b)*(c*d)
x = (a*b*c)*d
x = (a*b*c*d)
x = a*(b*c)*d
bạn thấy ở đoạn code trên có gì? khác gì nhau?
a*b gọi là expression
(a*b) cũng là expression
a*b*c cũng là expresssion
.....
const x = (a) => (2*a)
const x = (a) => 2*a
const x = a => (2*a)
const x = a => 2*a
4 dòng khai báo x bên trên đều có ý nghĩa giống nhau
ví dụ bên trên liên quan gì câu hỏi của bạn?
nếu bạn học tốt về nguyên lý của ngôn ngữ lập trình nói chung, bạn sẽ nhìn thấy vấn đề
khi người ta định nghĩa, người ta không đặc tả cụ thể, đại loại là arrow function nó sẽ như này
khai_bao => noi_dung_hien_thuc
gồm 3 phần
khai_bao có thể có nhiều cách, người ta lại có nhiều định nghĩa về khai_bao
=>
là keyword (hay là token hay là …)
noi_dung_hien_thuc cũng có nhiều cách để mô tả
nên arrow function bạn thấy nhiều kiểu, thực tế thì design nó chỉ có vậy