function declaration và function expression khác nhau điểm gì? Chưa khởi động mà rớt cái tạch.

Nội dung bài viết

Video học lập trình mỗi ngày

Trong javascript thì có nhiều cách khác nhau để tạo một function nhớ không nhầm thì có 8 cách tạo một function. Và trong số đó có function declaration và function expression, vậy nó khác nhau điểm gì.

Khai báo function declaration và function expression

Trong javascript thì chúng ta có thể khai báo như sau. Lấy một ví dụ đơn giản.

// function expression
const fn = function(){          
  // code here ...
}

// function declaration 
function fn(){    
  // code here ...
}

Khác nhau giữa function declaration và function expression

Áp dụng tình huống dưới đây xem cách hoạt động thế nào. Ví dụ.

sayHello(); // Uncaught ReferenceError: sayHello is not defined
const sayHello = function (){
    console.log('Hello')
}

Khi sử dụng function expression thì chúng ta gọi hàm trước khi khai báo. Sẽ xuất hiện error Uncaught ReferenceError: sayHello is not defined.

Ngược lại thì sao.

sayHello(); // Hello
function sayHello(){
    console.log('Hello')
}

Mặt khác, khi sử dụng function declaration thì chúng ta có thể thực hiện được điều đó. Đơn giản hay nắm kỹ điểm khác biệt.

Ngoài ra anh chị cũng nên xem trong javascript có 8 cách để khai báo một function. Xin chào!

Có thể bạn đã bị missing