Frames

A frame is a sequential unit of work. In the preceding diagram, the frames are represented by the blocks inside the stack.

When a function is invoked in JavaScript, the runtime creates a frame in the stack. The frame holds that function's arguments and local variables. When the function returns, the frame is removed from the stack. Let's look at an example:

function foo(a: number): number { 
    const value = 12; 
    return value + a; 
} 
 
function bar(b: number): number { 
    const value = 4; 
    return foo(value * b); 
} 

After declaring the foo and bar functions, we will invoke the bar function:

bar(21); 

When bar is executed, the runtime will create a new frame containing the arguments of bar and all its local variables (value). The frame (represented ...

Get Learning TypeScript 2.x - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.