- <>
- ~
- ==!
- !==
- Only a for statement uses a callback function.
- A for statement is generic, but a forEach statement can be used only with an array.
- Only a forEach statement lets you specify your own iterator.
- A forEach statement is generic, but a for statement can be used only with an array.
function addTax(total) {
return total * 1.05;
}
- addTax = 50;
- return addTax 50;
- addTax(50);
- addTax 50;
Q4. Which statement is the correct way to create a variable called rate and assign it the value 100?
- let rate = 100;
- let 100 = rate;
- 100 = let rate;
- rate = 100;
- var student = new Person();
- var student = construct Person;
- var student = Person();
- var student = construct Person();
let modal = document.querySelector('#result');
setTimeout(function(){
modal.classList.remove('hidden);
}, 10000);
console.log('Results shown');
- after 10 second
- after results are received from the HTTP request
- after 10000 seconds
- immediately
(Version 2, possibly an updated version)
let modal = document.querySelector('#results');
setTimeout(function () {
modal.classList.remove('hidden');
}, 10000);
- immediately
- after results are received from the HTTP request
- after 10 second
- after 10,000 seconds
Q7. You've written the code shown to log a set of consecutive values, but it instead results in the value 5, 5, 5, and 5 being logged to the console. Which revised version of the code would result in the value 1, 2, 3 and 4 being logged?
for (var i = 1; i <= 4; i++) {
setTimeout(function () {
console.log(i);
}, i * 10000);
}
-
for (var i=1; i<=4; i++){ (function(i){ setTimeout(function(){ console.log(j); }, j*1000); })(j) }
-
while (var i=1; i<=4; i++) { setTimeout(function() { console.log(i); }, i*1000); }
-
for (var i=1; i<=4; i++) { (function(j) { setTimeout(function(){ console.log(j); }, j*1000); })(i) }
-
for (var j=1; j<=4; j++) { setTimeout(function() { console.log(j); }, j*1000); }
- It reloads the document whenever the value changes.
- It returns a reference to a variable in its parent scope.
- It completes execution without returning.
- It copies a local variable to the global scope.
-
let discountPrice = function(price) { return price * 0.85; };
-
let discountPrice(price) { return price * 0.85; };
-
let function = discountPrice(price) { return price * 0.85; };
-
discountPrice = function(price) { return price * 0.85; };
var Storm = function () {};
Storm.prototype.precip = 'rain';
var WinterStorm = function () {};
WinterStorm.prototype = new Storm();
WinterStorm.prototype.precip = 'snow';
var bob = new WinterStorm();
console.log(bob.precip);
- Storm()
- undefined
- 'rain'
- 'snow'
Q11. You need to match a time value such as 12:00:32. Which of the following regular expressions would work for your code?
- /[0-9]{2,}:[0-9]{2,}:[0-9]{2,}/
- /\d\d:\d\d:\d\d/
- /[0-9]+:[0-9]+:[0-9]+/
- / : : /
'use strict';
function logThis() {
this.desc = 'logger';
console.log(this);
}
new logThis();
- undefined
- window
- {desc: "logger"}
- function
let roadTypes = ['street', 'road', 'avenue', 'circle'];
- roadTypes.2
- roadTypes[3]
- roadTypes.3
- roadTypes[2]
console.log(typeof(42));
- 'float'
- 'value'
- 'number'
- 'integer'
- self
- object
- target
- source
Q16. You're adding error handling to the code shown. Which code would you include within the if statement to specify an error message?
function addNumbers(x, y) {
if (isNaN(x) || isNaN(y)) {
}
}
- exception('One or both parameters are not numbers')
- catch('One or both parameters are not numbers')
- error('One or both parameters are not numbers')
- throw('One or both parameters are not numbers')
- JSON.fromString();
- JSON.parse()
- JSON.toObject()
- JSON.stringify()
- When you want to reuse a set of statements multiple times.
- When you want your code to choose between multiple options.
- When you want to group data together.
- When you want to loop through a group of statement.
for (var i = 0; i < 5; i++) {
console.log(i);
}
- 12345
- 1234
- 01234
- 012345
Q20. Which Object method returns an iterable that can be used to iterate over the properties of an object?
- Object.get()
- Object.loop()
- Object.each()
- Object.keys()
var a = ['dog', 'cat', 'hen'];
a[100] = 'fox';
console.log(a.length);
- 101
- 3
- 4
- 100
Q22. What is one difference between collections created with Map and collections created with Object?
- You can iterate over values in a Map in their insertion order.
- You can count the records in a Map with a single method call.
- Keys in Maps can be strings.
- You can access values in a Map without iterating over the whole collection.
Map.prototype.size
returns the number of elements in a Map, whereas Object does not have a built-in method to return its size.
const dessert = { type: 'pie' };
dessert.type = 'pudding';
- pie
- The code will throw an error.
- pudding
- undefined
- ReferenceError
- True
- 0
- false
- ++
- --
- ==
- ||
Q26. Which statement sets the Person constructor as the parent of the Student constructor in the prototype chain?
- Student.parent = Person;
- Student.prototype = new Person();
- Student.prototype = Person;
- Student.prototype = Person();
- to tell parsers to interpret your JavaScript syntax loosely
- to tell parsers to enforce all JavaScript syntax rules when processing your code
- to instruct the browser to automatically fix any errors it finds in the code
- to enable ES6 features in your code
Q28. Which Variable-defining keyword allows its variable to be accessed (as undefined) before the line that defines it?
- all of them
- const
- var
- let
- Boolean(0)
- Boolean("")
- Boolean(NaN)
- Boolean("false")
- this
- catch
- function
- array
- Arguments
- args
- argsArray
- argumentsList
class X {
get Y() {
return 42;
}
}
- x.get('Y')
- x.Y
- x.Y()
- x.get().Y
sum(10, 20);
diff(10, 20);
function sum(x, y) {
return x + y;
}
let diff = function (x, y) {
return x - y;
};
- 30, ReferenceError, 30, -10
- 30, ReferenceError
- 30, -10
- ReferenceError, -10
Q34. Why is it usually better to work with Objects instead of Arrays to store a collection of records?
- Objects are more efficient in terms of storage.
- Adding a record to an object is significantly faster than pushing a record into an array.
- Most operations involve looking up a record, and objects can do that better than arrays.
- Working with objects makes the code more readable.
Explanation: Records in an object can be retrieved using their key which can be any given value (e.g. an employee ID, a city name, etc), whereas to retrieve a record from an array we need to know its index.
- It can be used for both internal and external JavaScript code.
- It can be used only for internal JavaScript code.
- It can be used only for internal or external JavaScript code that exports a promise.
- It can be used only for external JavaScript code.
- import _ from 'lodash';
- import 'lodash' as _;
- import '_' from 'lodash;
- import lodash as _ from 'lodash';
[] == [];
- True
- undefined
- []
- False
- Generator function
- Arrow function
- Async/ Await function
- Promise function
var v = 1;
var f1 = function () {
console.log(v);
};
var f2 = function () {
var v = 2;
f1();
};
f2();
- 2
- 1
- Nothing - this code will throw an error.
- undefined
- Every object in the program has to be a function.
- Code is grouped with the state it modifies.
- Date fields and methods are kept in units.
- Side effects are not allowed.
Q41. Your code is producing the error: TypeError: Cannot read property 'reduce' of undefined. What does that mean?
- You are calling a method named reduce on an object that's declared but has no value.
- You are calling a method named reduce on an object that does not exist.
- You are calling a method named reduce on an empty array.
- You are calling a method named reduce on an object that's has a null value.
let arr = [];
- 3
- 2
- 0
- 1
- typeof
- delete
- instanceof
- void
var start = 1;
if (start === 1) {
let end = 2;
}
- conditional
- block
- global
- function
const x = 6 % 2;
const y = x ? 'One' : 'Two';
- One
- undefined
- TRUE
- Two
- throw
- exception
- catch
- error
- The defer attribute can work synchronously.
- The defer attribute works only with generators.
- The defer attribute works only with promises.
- The defer attribute will asynchronously load the scripts in order.
var a;
var b = (a = 3) ? true : false;
- The condition in the ternary is using the assignment operator.
- You can't define a variable without initializing it.
- You can't use a ternary in the right-hand side of an assignment operator.
- The code is using the deprecated var keyword.
<p class="pull">lorem ipsum</p>
-
Document.querySelector('class.pull')
-
document.querySelector('.pull');
-
Document.querySelector('pull')
-
Document.querySelector('#pull')
let answer = true;
if (answer === false) {
return 0;
} else {
return 10;
}
- 10
- true
- false
- 0
var start = 1;
function setEnd() {
var end = 10;
}
setEnd();
console.log(end);
- 10
- 0
- ReferenceError
- undefined
function sayHello() {
console.log('hello');
}
console.log(sayHello.prototype);
- undefined
- "hello"
- an object with a constructor property
- an error message
- Object
- Set
- Array
- Map
function printA() {
console.log(answer);
var answer = 1;
}
printA();
printA();
- 1 then 1
- 1 then undefined
- undefined the undefined
- undefined the 1
- forEach allows you to specify your own iterator, whereas for does not.
- forEach can be used only with strings, whereas for can be used with additional data types.
- forEach can be used only with an array, whereas for can be used with additional data types.
- for loops can be nested; whereas forEach loops cannot.
'use strict';
function logThis() {
this.desc = 'logger';
console.log(this);
}
new logThis();
- undefined
- function
- windows
- {desc: "logger"}
- => ({})
- => {}
- => { return {};}
- => (({}))
- to start tasks that might take some time without blocking subsequent tasks from executing immediately
- to ensure that tasks further down in your code are not initiated until earlier tasks have completed
- to make your code faster
- to ensure that the call stack maintains a LIFO (Last in, First Out) structure
- [3] == [3]
- 3 == '3'
- 3 != '3'
- 3 === '3'
- 5thItem
- firstName
- grand total
- function
- cancel()
- stop()
- preventDefault()
- prevent()
- attachNode()
- getNode()
- querySelector()
- appendChild()
- break
- pass
- skip
- continue
- (a,b) => c
- a, b => {return c;}
- a, b => c
- { a, b } => c
Q65. Which concept is defined as a template that can be used to generate different objects that share some shape and/or behavior?
- class
- generator function
- map
- proxy
- ! This is a comment
- # This is a comment
- \ This is a comment
- // This is a comment
Q67. If you attempt to call a value as a function but the value is not a function, what kind of error would you get?
- TypeError
- SystemError
- SyntaxError
- LogicError
- create()
- new()
- constructor()
- init()
let a = 5;
console.log(++a);
- 4
- 10
- 6
- 5
Q70. You've written the event listener shown below for a form button, but each time you click the button, the page reloads. Which statement would stop this from happening?
button.addEventListener(
'click',
function (e) {
button.className = 'clicked';
},
false,
);
- e.blockReload();
- button.preventDefault();
- button.blockReload();
- e.preventDefault();
-
function() { console.log('lorem ipsum'); }()();
-
function() { console.log('lorem ipsum'); }();
-
(function() { console.log('lorem ipsum'); })();
-
Document.querySelector('img')
-
Document.querySelectorAll('<img>')
-
Document.querySelectorAll('img')
-
Document.querySelector('<img>')
- To use ES6 syntax
- To start tasks that might take some time without blocking subsequent tasks from executing immediately
- To ensure that parsers enforce all JavaScript syntax rules when processing your code
- To ensure that tasks further down in your code aren't initiated until earlier tasks have completed
- DELETE
- GET
- PATCH
- POST
Q75. Which event is fired on a text field within a form when a user tabs to it, or clicks or touches it?
- focus
- blur
- hover
- enter
function logThis() {
console.log(this);
}
logThis();
- function
- undefined
- Function.prototype
- window
const Greeting = ({ name }) => <h1>Hello {name}!</h1>;
-
class Greeting extends React.Component { render() { return <h1>Hello {this.props.name}!</h1>; } }
-
class Greeting extends React.Component { constructor() { return <h1>Hello {this.props.name}!</h1>; } }
-
class Greeting extends React.Component { <h>Hello {this.props.name}!</h>; } }
-
class Greeting extends React.Component { render({ name }) { return <h1>Hello {name}!</h1>; } }
useEffect(() => {
// do things
}, []);
- componentWillUnmount
- componentDidUpdate
- render
- componentDidMount
var obj;
console.log(obj);
- ReferenceError: obj is not defined
- {}
- undefined
- null
class TaxCalculator {
static calculate(total) {
return total * 0.05;
}
}
- calculate(50);
- new TaxCalculator().calculate($50);
- TaxCalculator.calculate(50);
- new TaxCalculator().calculate(50);