JavaScript: What is Hoisting ?

JavaScript Hoisting refers to the process whereby the interpreter appears to move the declaration of functions, variables or classes to the top of their scope, prior to execution of the code.

Hoisting allows functions to be safely used in code before they are declared.

Variable and class declarations are also hoisted, so they too can be referenced before they are declared. Note that doing so can lead to unexpected errors, and is not generally recommended.

Function hoisting

One of the advantages of hoisting is that it lets you use a function before you declare it in your code.

Variable hoisting

Hoisting works with variables too, so you can use a variable in code before it is declared and/or initialized.

However JavaScript only hoists declarations, not initializations! This means that initialization doesn't happen until the associated line of code is executed, even if the variable was originally initialized then declared, or declared and initialized in the same line.

Until that point in the execution is reached the variable has its default initialization (undefined for a variable declared using var, otherwise uninitialized).

Readmore: https://developer.mozilla.org/en-US/docs/Glossary/Hoisting

 

associated

@associated
- liên kết

@associate /ə'souʃiit/
* tính từ
- kết giao, kết hợp liên hợp; liên đới
=associate societies+ hội liên hiệp
=associate number+ (toán học) số liên đới
- (từ Mỹ,nghĩa Mỹ) cùng cộng tác, phụ, phó, trợ
=associate editor+ phó tổng biên tập
* danh từ
- bạn, bạn đồng liêu, người cùng cộng tác; đồng minh
- hội viên thông tin, viện sĩ thông tấn (viện hàn lâm khoa học...)
- vật phụ thuộc (vào vật khác); vật liên kết với vật khác
* ngoại động từ
- kết giao, kết hợp, liên hợp, liên kết; cho gia nhập, cho cộng tác
=to associate someone in one's business+ cho ai cùng cộng tác trong công việc kinh doanh
- liên tưởng (những ý nghĩ)
=to associate oneself in+ dự vào, cùng cộng tác vào
* nội động từ
- kết giao, kết bạn với, giao thiệp với
- hợp sức; liên hợp lại (vì mục đích chung), liên kết lại
=to associate with someone in doing something+ hợp sức với người nào làm việc gì

@associate
- (Tech) liên kết (đ), kết hợp (đ)

@associate
- liên kết, kết hợp, liên đới, liên hợp

declaration

@declaration /,deklə'reiʃn/
* danh từ
- sự tuyên bố; lời tuyên bố
=to make a declaration+ tuyên bố
=a declaration of war+ sự tuyên chiến
- bản tuyên ngôn
=the Declaration of human rights+ bản tuyên ngôn nhân quyền
- sự công bố
=the declaration of the poll+ sự công bố kết quả bầu cử
- (thương nghiệp); (pháp lý) sự khai, lời khai; tờ khai
- (đánh bài) sự xướng lên

@declaration
- (Tech) lời tuyên bố, khai báo

hoisting

@hoist /hɔist/
* danh từ
- sự kéo lên; sự nhấc bổng lên (bằng cần trục...)
- thang máy
- (kỹ thuật) cần trục; tời)
* ngoại động từ
- kéo (cờ) lên; nhấc bổng lên (bằng cần trục, tời...)
=to hoist a flag+ kéo cờ lên
=to hoist a sail+ kéo buồm lên
* động tính từ quá khứ
- to be hoist with one's own petard gậy ông đập lưng ông; tự mình lại mắc vào cạm bẫy của chính mình

initializations

@initialization
- khởi tạo

interpreter

@interpreter /in'tə:pritə/
* danh từ
- người giải thích, người làm sáng tỏ
- người hiểu (theo một cách nhất định)
- người trình diễn, người diễn xuất; người thể hiện
- người phiên dịch

@interpreter
- người phiên dịch, bộ dịch
- card i. (máy tính) máy ghi lên bìa
- electronic i. (máy tính) bộ dịch điện tử

originally

@originally /ə'ridʤnəli/
* phó từ
- với tính chất gốc; về nguồn gốc
- bắt đầu, khởi đầu, từ lúc bắt đầu
- đầu tiên, trước tiên
- độc đáo

scope

@scope /skoup/
* danh từ
- phạm vi, tầm xa (kiến thức); dịp; nơi phát huy
=that is beyond my scope+ tôi không làm nổi việc đó; tôi không đủ thẩm quyền giải quyết việc đó
=the job will give ample scope to his ability+ làm việc đó anh ta sẽ có đất để dụng võ; làm việc đó anh ta sẽ có dịp để phát huy khả năng của mình
=we must read to broaden the scope of our knowledge+ chúng ta phải đọc để mở rộng kiến thức
=a scope for one's energies+ dịp phát huy tất cả sức lực của mình
- (hàng hải) chiều dài dây neo (khi tàu bỏ neo)
- (quân sự) tầm tên lửa
- (từ hiếm,nghĩa hiếm) mục tiêu, mục đích, ý định

whereby

@whereby /we 'bai/
* phó từ
- do cái gì, bằng cách gì
=whereby shall we know him?+ bằng cách nào mà chúng ta sẽ biết được nó?
- nhờ đó, bởi đó
=he devised a plan whereby he might escape+ nó vạch một kế hoạch nhờ đó nó có thể thoát được