Introduction to Javascript Flashcards

1
Q

What is the full name of the book and in which year this book was released?

A

Javascript the definite guide. Seventh edition. Master the world`s most used language | 2020

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define the most important techical aspects of Javascript.

A

JavaScript is a high-level, dynamic, interpreted language that is well suited for object-oriented and functional programming styles. It’s variables are untyped and it’s syntax is loosely based on Java but otherwise unrelated to the language. It derives its first class functions from Scheme language and its prototype based inheritance from Self language.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Explain the concept of a ‘dynamic programming language’.

A

Dynamic programming language has the capability to run various programming concepts at runtime whilst other languages need to compile the code first. Here are the key characteristics of dynamic programming languages:
- dynamic variables
- runtime binding of variables.and methods aka the code can change itself during runtime
- reflection and introspection aka the code can change and generate new executable code
- advanced programming constructs like closures, first-class functions and prototype based inheritance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why JavaScript is called ECMAScript?

A

Because Sun Microsystems (now Oracle) registered JavaScript as a trademark back in the day. Netscape (now Mozilla) asked European Computer Manufacturers Association (ECMA) to standardise the language. As it was not possible to use a registered trademark as an official name the language was named as. ECMAScript in the documentation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The name of the first web browser and at what year it was released and by who?

A

WorldWideWeb which was later renamed to Nexus. Released in 1990 by CERN (European Centre for Nuclear Research) scientist Tim Berners-Lee

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

In what year ES5 was released?

A

2010

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What version of JavaScript was compatible with all web browsers on 2020?

A

ECMAScript 5 aka. ES5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

In which year ES6 was released and what were it’s two major features?

A

2015
classes and modules
These major features uplifted JavaScript to become a general purpose language capable of building large-scale applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe the naming logic of versioning after ES6.

A

EcmaScript + the release year eq. ES2016, ES2017 and so on.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How to turn off the pre-ES5 mistakes?

A

By using ‘use strict’ directive

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What JS features turn on ‘use strict’ automatically in their contexts?

A

Using classes and modules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What JS core language does not include when compared to many other languages?

A
  • input
  • output
  • networking
  • storage
  • graphics
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

In which year Node become available;what it can do compared to the JS core language API; for.what is it commonly used?

A
  • 2010
  • read and write files, make and serve HTTP requests, send and receive data over network.
  • For implementing web servers and for writing utility scripts as an alternative to Shell
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe JS’s most typical scenario for input and output?

A

User is giving input via mouse and keyboard and receiving output via CSS and HTML.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

JavaScript’s typing discipline in three words.

A

weak
duck
dynamic

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Define weak typing.

A

Weak typing means that the language has the ability to change the type of a variable to continue running the code. For example, it converts a number into a string in the following situation: ‘10 + “cat”. The benefits of such behaviour is that it helps the code to keep running despite the types mismatch and helps in writing less verbose code. The downside is that it can lead the code acting unexpectedly.