- vừa được xem lúc

Lexical Environment trong JavaScript

0 0 9

Người đăng: Lam Vu Hoang

Theo Viblo Asia

Lexical Environment đóng vai trò quan trọng trong việc quản lý phạm vi biến và hàm trong JavaScript. Nó là một phần quan trọng của cách JavaScript quản lý và truy cập các biến trong một chương trình.

Khái niệm

Lexical Environment chỉ đơn giản là nơi mà bạn viết code. Hãy cùng nhìn vào đoạn code sau:

function printName() { console.log("Hi, I am Lam")
}
function findName() { return printName()
}
function sayMyName() { return findName()
}
sayMyName(); 

Mỗi khi một hàm mới được tạo ra, tức là ta đang tạo ra một Lexical Environment. Đối với đoạn code trên chúng ta có 4 Lexical Environment bao gồm: printName(), findName(), sayMyName()global(). Lý do có hàm global() vì đây là Global Execution Context, nó luôn tồn tại ở bên dưới khi chương trình được khởi tạo, các bạn có thể đọc lại bài viết trước mình có nói về Execution Context để hiểu rõ hơn. Nghĩa là 3 hàm trên được viết trong Lexical Environment là global(). Thế giả sử mình có hai hàm lồng nhau như này thì sao:

function hangoutWithFriends() { function wearingClothes() { console.log("I am wearing"); }
}

Đoạn code này thể hiện wearingClothes() có Lexical Environment là hangoutWithFriends(), còn hangoutWithFriends() có Lexical Environment là global()

Lý do cần nắm về Lexical Environment

Nắm được Lexical Environment là gì sẽ giúp cho các bạn hiểu hơn về các khái niệm như Scope, Hoisting hay Closures.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Blog#173: Introduction to Advanced JavaScript Concepts - Advanced JavaScript Part 1

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . JavaScript is an essential language for web development, and learning advanced concepts can significantly improve your programming skills.

0 0 11

- vừa được xem lúc

Blog#174: 🤔Understanding Asynchronous JavaScript: 🔄Callbacks, 🤞Promises, and 🤝Async/Await

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . 1. Introduction to Asynchronous JavaScript. What is Asynchronous JavaScript.

0 0 12

- vừa được xem lúc

Blog#175: 🧐Mastering JavaScript's Execution Context and Closures🚀

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . 1. Understanding Execution Context. A Quick Overview.

0 0 9

- vừa được xem lúc

Blog#177: 🤔MAYBE YOU DON'T KNOW - 👌Using Node-Postgres in Node.js Express✨

Hi, I'm Tuan, a Full-stack Web Developer from Tokyo . In this article, we'll walk you through a step-by-step guide on using node-postgres with Node.

0 0 12

- vừa được xem lúc

Blog#176: 💪The Power of JavaScript Functional Programming🚀

. The main goal of this article is to help you improve your English level. I will use Simple English to introduce to you the concepts related to software development.

0 0 13

- vừa được xem lúc

[Javascript] Nâng cấp kỹ thuật tạo Tham số trong Hàm JS

1. Khái niệm.

0 0 14