JavaScript 1
JavaScript 2
JavaScript 3
JavaScript 4
Computer Science / History
100

This JavaScript operator will coerce an object, if necessary to force an equality comparison

What is the '==' operator?

100

In JavaScript, language feature allows us to evaluate expressions inside of strings, so long as they use a backtick (`) charactor instead of single or double quotes.

What is String Interpolation, also known as Template Literals?

100

This JavaScript operator lets you check the same types before checking equality

What is '===' operator?

100

Evaluating the expression:
var arr = [1, 2, 3, 4];
var arr2 = [0, ...arr];

yields this

What is [0, 1, 2, 3, 4]?

100

This was one of the very first high level programming languages appearing in 1954

What is Fortran?

Side note: The first language ever developed was `Plankalkül` by Konrad Zuse for the Z3 in 1943; however it was not implemented until 1998. 

200

This function can be used to call a method on an object with a specified `this` and an array of parameters value.

What is the apply() method?
(note: call() expects the parameters as an argument list rather than an array of parameters)

200

Evaluate the following expression:

const myarray = [1, 2, 3, 4];
for (let x of myarray) {
    console.log(x);
}

The console output will be this

1
2
3
4

200

Evaulate the following statement:

const l = { name: "nate", age: 34, height: 74 }
const name = l["name"];

The value of `name` will be this

What is "nate"?

200

This object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.

What is a 'Promise'?

200

In the year 2012, this statically typed, procedural, long lived programming language made it's first appearance in the top spot of the TOBIE Language Index

What is the `C` language?

300

This is a special type of function that returns an implicit promise as a result, but the syntax and structure of the code looks like synchronous functions.

What is an `async function`?

300

According to MDN, this is the difference between var and let

  • let allows you to declare variables that are limited to a scope of a block statement, or expression on which it is used, unlike the var keyword, which defines a variable globally, or locally to an entire function regardless of block scope. The other difference between var and let is that the latter is initialized to a value only when a parser evaluates it.
  • Unlike var, let throws an error if you declare the same variable twice.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let

300

Evaluate the following:

const l = { name: "nate", age: 34, height: 74 }
const { name, age } = l;

This method of assignment is known as this

What is destructuring?

300

This special type of function does not include a reference to the `this` parameter.

What is an arrow function ( => )?

300

Written in 1952 (before high level programming languages even hit the scene), this was the first game written for a computer

What was `Tic-Tac-Toe`, also known as OXO?

400

A strict definition of this process suggests that variable and function declarations are physically moved to the top of your code, but this is not in fact what happens. Instead, the variable and function declarations are put into memory during the compile phase, but stay exactly where you typed them in your code.

What is hoisting?

400

Evaluate the following:

class ClassWithPrivateField {  
    #privateField    
    constructor() { this.#privateField = 42 }
}

const instance = new ClassWithPrivateField()
let result = instance.#privateField;

What is the result of calling this code?

What is a `SyntaxError`?

400

Evaluate the following expression:

const myarray = [1, 2, 3, 4];
for (let x in myarray) {
    console.log(x);
}

The console output will be this

0
1
2
3

400

According to MDN, this is the difference between let and const

The const declaration creates a read-only reference to a value. It does not mean the value it holds is immutable—just that the variable identifier cannot be reassigned.

An initializer for a constant is required. You must specify its value in the same statement in which it's declared. (This makes sense, given that it can't be changed later.) 


400

This device was developed during the 1960's at Stanford Research Institute. It was first used with the Xerox Alto computer system in 2973

What is the 'mouse'?

500

According to MDN, what are the 9 types that the typeof operator will return?

string, number, boolean, bigint, symbol, object, undefined, function* (though function is not a data structure, it is part of the typeof return output.)

500

Consider the following code:

function* idMaker() {
    var index = 0;
    while(true)
        yield index++;
}

var gen = idMaker();
console.log(gen.next().value);
console.log(gen.next().value);
console.log(gen.next().value);

What is the output of this code, and what is this concept called?

0
1
2

What is an iterator?

500

This JavaScript concept allows parts in a file to be made available to other files via a related concept

What is 'export'?

500

This method creates a new function that, when called, has its this keyword set to the provided value, with a given sequence of arguments preceding any provided when the new function is called.

What is the `bind()` function?

500

This was the first commercial dial-up ISP in the world, introduced in 1989

What is "The World" ISP?