Practice reading JS code and understanding what it does!
- Understand different types in javascript
- Practice reading code & understanding boolean logic
- Learn the various operators in javascript and what they do
- Forking & cloning a repo from git
- Making a pull request
- Fork this repository
- Clone the forked repository to your computer
cd
to the cloned directorycode .
to open the repo in VSCode- When you are done, commit and push your work to your forked copy
- Make a pull request on github against the original repo
For problems 1 and 2, write your answer in a comment (comments start with //
) immediately below the line of code.
Example:
2 + 2
// number, 4
For problems 3-5, fill out the existing table or create a new one. See the table syntax guide
For problems 6-10, see the example in problem 6 and write your own answer below each question.
What are the types of the following expressions and what do they evaluate to?
17
// 17 number
1 + 2 * 3 + 4
// number, evaluates to 11
800 / 80 / 8
// number , 1.25
400 > 200
// boolean , true
1 !== 1
// boolean , true
true || false
// boolean , true
true && false
// boolean , false
20 % 6
// number , 2
"a" + "b"
// string , 'ab'
What will the following return?
typeof 4
// 'number'
typeof "hello"
// 'string'
typeof true
// 'boolean'
2 === 1 || 3 === 4
// false
Create a truth table for the expression A || B.
For reference, here is a truth table for the expression A && B. You can fill out the last column. Don't worry about keeping the spacing exact.
A | B | A && B | A ll B |
---|---|---|---|
true | true | true | true |
false | true | false | true |
true | false | false | true |
false | false | false | false |
Create a truth table for the expression !A && !B.
For reference, here is a truth table for the expression A && !B. You can fill out the last column. Don't worry about keeping the spacing exact.
A | B | !B | A && !B | !A && !B |
---|---|---|---|---|
true | true | false | false | true |
false | true | false | false | false |
true | false | true | true | false |
false | false | true | false | true |
| A | B | !B | A && !B | !A && !B | !(A || B) | | ----- | ----- | ----- | ------- | -------- | -------- | | true | true | false | false | false | false | | false | true | false | false | false | false | | true | false | true | true | false | false | | false | false | true | false | true | true |
Create a truth table for the expression !(A || B). | A | B | !B | A && !B | !A && !B | !(A || B)| | ----- | ----- | ----- | ------- | -------- | -------- | | true | true | false | false | false | false | | false | true | false | false | false | false | | true | false | true | true | false | false | | false | false | true | false | true | true |
Write a step-by-step evaluation for the following expression (remember order of operations): 2 + 3 * 2 + 1
.
For reference, here is a exp of a step-by-step evaluation:
1 + 2 + 3 +4
3 + 3 + 4
6 + 4
10
// 6 + 2 + 1
// 8 + 1
// 9
## Problem Seven
Write a step-by-step evaluation for the following expression (remember order of operations): `4 / 2 + 8 / 4`.
// 2 + 8 \ 4
// 2 + 2
// 4
## Problem Eight
Write a step-by-step evaluation for the following expression: `'ca' + 'ter' + 'pi' + 'llar'`.
// 'cater' + 'pi' + 'llar'
// 'cater' + 'pillar'
## Problem Nine
Write a step-by-step evaluation for the following expression: `2 * 4 === 8 && 'car' + 'pool' === 'carpool'`.
// 8 === 8 && 'car' + 'pool' === 'carpool'
// true && 'car' + 'pool' === 'carpool'
// true && 'carpool' === 'carpool
// true && true
// true
carpool
## Problem Ten
Write a step-by-step evaluation for the following expression: `'1' + '2' + '3' - '1'`.
// 123 - 1
// 122