F8

FULLSTACK HUB

JavaScript 8 tháng 7, 2026 lúc 12:46

[Note nhanh] Buổi 19 Object nâng cao

const user = {}; // object literal
const user = new Object({});
function User(name) {
 // this.name = name;
}
const user = new User();

// Hôm nay sẽ học cách thứ 4
console.dir(Object)

// phương thức asign cũng có thể tạo object

// create cũng tạo object

// entries cũng tạo object

// Làm quen với assign
console.log(Object.assign({langueage: "JavaScript"}, {name: "Nguyễn Thành Thiên", age: 27}))

Tiếp theo // create cũng tạo object

const newUser = Object.create( {

name: "Nguyễn Văn A", age: 20, }); console.log(newUser)

Tiếp tục  

const arr = ["name", "Nguyễn Văn A", age:20], 
["age", 20]

//Tạo object console.log(Object.fromEntries(arr));

Nó sẽ lấy phần tử đầu tiên làm key và phần tử thứ 2 sẽ làm value

const user = {
 name: "Nguyễn Văn A",
age: 20,
intro: () => {
 console.log(this);
}
};

Nếu this đó định nghĩa arrow function nó không có this riêng nó sẽ mượn this ngữ cảnh bên ngoài, this nó sẽ là this global (là window)

const user = {
 name: "Nguyễn Văn A",
age: 20,
intro: function () {
 console.log(this);
}
};

function thường gọi theo cách thông thường sẽ là window const func = user.intro

- this trong function thường xác định qua cách gọi:

  • Gọi trực tiếp thì this trỏ tới window
  • Gọi qua object thì this trỏ tới object đó
  • this trong arrown function không có, xác định qua cách viết
    •  Nó mượn this từ context bên ngoài

bind

function greeting(a, b) {
 console.log(this);
 console.log("hello")
}

const newGreeting = greeting.bind{ say: "Hi"} ); newGreeting()

bind thì gọi bình thường this trong fujnction nhận giá trị đối số truyền vào bind

call

function greeting(a, b) {
 console.log(this);
 console.log("hello")
}

greeting.call({say: "Hi" },1 ,2);

đối số đăng số đằng sau là tham số đăng sau truyền vào hàm

apply

function greeting(a, b) {
 console.log(this);
 console.log("hello")
}

greeting.apply({say: "Hi", [1, 2]});

Apply giống ở call mà nó nhận đối số thứ hai là mảng

=> Đều là 3 phương thức của function nó dùng để gán this cho function


Với arrow function nó không dùng bind, callapply được

Kỹ thuật mượn hàm

giả sử ta có 2 object
const user1 = {
 name: "Nguyễn Văn A", 
 age: 20,
 intro: function () {
  console.log(Xin choà, tôi là ${this.name}, ${this.age} tuổi);
 },

}

const user2 = { name: "Nguyễn Văn B", AGE: 30, };

user.intro.call(user2);


const arr = [1, 2, 3, 4, 5];

const user = { name: "Nguyễn Văn A", age: 20, points: [10, 20, 30], intro: function () { this.points.forEach(point => { console.log(${this.name} có ${point} điểm); } ) }

}



Thống Kê Liên Kết

Nội bộ
0
Liên kết ngoài
0