Các bạn nghĩ đơn giản như này, phân biệt qua cách hàm/method được gọi. Được gọi qua object.method() thì this là object. Được gọi theo tenHam() thì this là window (strict mode là undefined). Mỗi hàm luôn có context riêng, hàm trong method cũng có context riêng của nó (trừ arrow function). Trong bài này mình chỉ "đả thông" về tư duy hướng đối tượng thôi nhé. Với Javascript để thể hiện đối tượng chúng ta sẽ dùng Function constructor hoặc Class để tạo đối tượng mới "chuẩn" nhé. Nhưng sẽ học sau, cuối cùng mình cũng sẽ nói thôi hihi 😍
Cảm ơn anh Sơn Đặng rất có tâm và có tầm hướng dẫn các khoá học. Giúp đỡ cho rất nhiều cho mn. Chúc anh có thật nhiều sức khoẻ và niềm vui trong công việc cũng như trong cuộc sống ^^
mình cũng vừa thử thêm một tường hợp khi tạo một constructor bằng class mà sử dụng this trong method với function thuần tuý thì nó ra undefined á chứ nó k ra window, còn arrow function thì vẫn trỏ về object mà nó thuộc về
Chỗ 14:50, nếu chỗ đó mình không dùng function console.log(this) mà mình truyền một function handleClick() chẳng hạn, thì bên trong handleClick sẽ log ra this là Window. Chỗ này thì mình giải thích như thế nào cho hợp lý ạ? Em cám ơn ạ.
khúc sau A Sơn có giải thích rõ, đứng ngoài phương thức (có thể hiểu là function ko còn là phương thức) thì sẽ trỏ tới global, thì this lúc này là Window ấy bạn.
Sau khi định nghĩa handleClick và console.log(this) bên trong hàm handleClick thì bạn sẽ phải gọi hàm : handleClick(); Khi đó thì ko có đối tượng nào trực tiếp gọi ra handleClick mà chỉ là handleClick() thì this sẽ trỏ về mặc định là window nhé
Phần 22:48 khó hiểu quá. Tại sao this nằm trong hàm test lại trả về window mà không phải trả về đối tượng Car nhỉ? Mình thấy nó nằm trong đối tượng Car mà
Bạn nghĩ đơn giản như này, phân biệt cách hàm/method được gọi. Được gọi qua object.method() thì this là object. Được gọi theo tenHam() thì this là window. Mỗi hàm luôn có context riêng, hàm trong method cũng có context riêng của nó.
Anh cho em hỏi về chỗ arrow function. Trong video a giảng có nói là arrow function ko có context nên sẽ ko có this và k thể trỏ ra window như function thường nhưng em thử code đoạn dưới đây thì vẫn in ra window là sao ạ !! const demo = () => { console.log(this); } demo()
Các bạn nghĩ đơn giản như này, phân biệt qua cách hàm/method được gọi. Được gọi qua object.method() thì this là object. Được gọi theo tenHam() thì this là window (strict mode là undefined). Mỗi hàm luôn có context riêng, hàm trong method cũng có context riêng của nó (trừ arrow function).
Trong bài này mình chỉ "đả thông" về tư duy hướng đối tượng thôi nhé. Với Javascript để thể hiện đối tượng chúng ta sẽ dùng Function constructor hoặc Class để tạo đối tượng mới "chuẩn" nhé. Nhưng sẽ học sau, cuối cùng mình cũng sẽ nói thôi hihi 😍
Cảm ơn anh Sơn Đặng rất có tâm và có tầm hướng dẫn các khoá học. Giúp đỡ cho rất nhiều cho mn. Chúc anh có thật nhiều sức khoẻ và niềm vui trong công việc cũng như trong cuộc sống ^^
Mong anh giàu sống khỏe, giàu có
Respect những gì a làm ❤️❤️❤️
Kinh điển đấy bạn à. Các bài giảng của bạn đều hay và dễ hiểu
Hay quá anh ơi, mong anh ra nhiều videos hữu ích như thế này hơn nữa. Cảm ơn anh.
Hay quá lâu lâu xem lại, càng xem hiểu càng rõ
Anh có thể làm về Iterator và Generator không ạ??
Chúc a thật nhiều sức khỏe và thành công
Anh comeback r hihi, luôn ủng hộ cùng f8❤️
mình cũng vừa thử thêm một tường hợp khi tạo một constructor bằng class mà sử dụng this trong method với function thuần tuý thì nó ra undefined á chứ nó k ra window, còn arrow function thì vẫn trỏ về object mà nó thuộc về
Cùng tuổi mà sao thấy ngưỡng mộ quá, mình thì mới bắt đầu, javascript còn chưa vững nữa :(
thấy video là vô like liền cho người chủ kênh có tâm .
Chúc anh nhiều sức khoẻ, hay qá !
rất chi tiếc, rất dễ hiểu. Cảm ơn a sơn
Cuối cùng a cũng ra viện và trở về nhà
Hay quá a đúng lúc e đang học về this
Chúc anh luôn thành công .
21:02 có thể dùng prototype để tạo phương thức
A ơi cho e hỏi, khởi tạo đối tượng sử dụng từ khóa new và không có từ khóa new khác nhau như thế nào ạ
ai đọc bình luận này thì em chúc mọi người khỏe mạnh, hạnh phúc ạ.
Buổi tối vui vẻ nha anh🥰🥰
Chỗ 14:50, nếu chỗ đó mình không dùng function console.log(this) mà mình truyền một function handleClick() chẳng hạn, thì bên trong handleClick sẽ log ra this là Window. Chỗ này thì mình giải thích như thế nào cho hợp lý ạ? Em cám ơn ạ.
khúc sau A Sơn có giải thích rõ, đứng ngoài phương thức (có thể hiểu là function ko còn là phương thức) thì sẽ trỏ tới global, thì this lúc này là Window ấy bạn.
Sau khi định nghĩa handleClick và console.log(this) bên trong hàm handleClick thì bạn sẽ phải gọi hàm : handleClick();
Khi đó thì ko có đối tượng nào trực tiếp gọi ra handleClick mà chỉ là handleClick() thì this sẽ trỏ về mặc định là window nhé
Hay quá a
thế còn từ this trong khai báo báo thuộc tính this.name thì nghĩa ntn ạ ? mong ai đò help mình
17:58 anh Sơn có giải thích đây bạn
hay quá anh ơi😀😀😀,
Cảm ơn anh nhiều
Làm sao để arrow function có ngữ cảnh của riêng nó vậy anh?
Hay quá
Loving you 😘
Từ khóa "self" nó dùng như thế nào vậy Minh Chủ? Em thấy trong class người ta xài "this" xong rồi còn xài thêm "self" nữa.
var self = this;
=)))
Anh ơi cho em xin tên nhạc nền của vid lúc intro được k ạ
Phần 22:48 khó hiểu quá. Tại sao this nằm trong hàm test lại trả về window mà không phải trả về đối tượng Car nhỉ? Mình thấy nó nằm trong đối tượng Car mà
Bạn nghĩ đơn giản như này, phân biệt cách hàm/method được gọi. Được gọi qua object.method() thì this là object. Được gọi theo tenHam() thì this là window. Mỗi hàm luôn có context riêng, hàm trong method cũng có context riêng của nó.
tức là nó trỏ trong 1 cái function trong 1 đối tượng thôi ạ ?
Ai giải thích mình context vs scope khác nhau ntn vậy nhỉ
Cho em hỏi anh sài camera gì ạ
cho em xin tên nhạc nền được ko ạ.
hay qua a oi
Anh cho em hỏi về chỗ arrow function. Trong video a giảng có nói là arrow function ko có context nên sẽ ko có this và k thể trỏ ra window như function thường nhưng em thử code đoạn dưới đây thì vẫn in ra window là sao ạ !!
const demo = () => {
console.log(this);
}
demo()
GIờ ông chạy nó ở phần console trên trình duyệt, nó in ra object window. Nó trả về đối tượng nó thuộc về thì là window rồi đó
Arrow Function không có context của riêng nó, nó sẽ sử dụng context của đối tượng bên ngoài chứa nó mà trong trường hợp của bạn thì nó là window
anh ơi cho em hỏi cái bảng màu trắng bên phải anh mở ở đâu vậy ạ chỉ em với dc ko ạ
Tab console trong devtool của trình duyệt em, em học Javascript cơ bản chưa?
🤣 nếu chưa học js cơ bản thì củng đừng học js nâng cao nữa bạn ơi, bay qua học react js luôn mau đi làm mau giàu lắm.
🤣
học cái này xong hiểu kỹ hơn tx
Anh nói về Object.prototype đi ạ
Hello anh
em chào anh ạ
$this trả về object nó đang thuộc về.
học php à
em sao ko qua nước ngoài sống, trong nước lộn xộn thế ko hợp người như mình
không hợp đâu em
8/1/2023
xem chậm 16 phút dòi :((