Summary as of April 23, 2023

Literal values

We have learned about five data types. You should be able to read and write literal values of all five types using the appropriate syntax for each type.

Operators

We have learned about the main operators for each of the three data types as well as comparison operators that can be used with numbers and strings, equality operators that can be used with any types, and grouping parentheses. You should be able to read and write expressions using these operators.

We have also learned about the basic assignment operator = as well as the composite assignment operators like += and *=. You should be able to use assignment operators to update variables, array elements, and object properties.

Variables

We have learned how to declare both mutable and immutable variables. You should be able to define your own variables and use variables in expressions to compute values and know how to assign new values to mutable variables.

Functions

We have learned how to define functions in both full and shorthand form and the difference between functions that are used to compute values and those that are used for their side effects. You should be able to define your own functions and use function calls, of both your own and pre-existing functions, in expressions and for side effects.

You should be able to use higher-order functions and methods such as filter, map, and reduce that take functions as arguments and how to write recursive functions that recurse on numbers, strings, arrays, and tree structures.

Expressions

You should be able to read and write all of the kinds of expressions listed below as well as understand how to combine expressions into yet more complex expressions using operators, function calls, and method calls.

Control constructs

You should be able to use all of the control constructs listed below. You should be able to trace the execution of code using these control constructs and describe when the different parts of the code will be executed.

Properties

We have learned about one property, the length property of both strings and arrays. You should be able to use this property in expressions to do things like find the last n characters of a string or in a for loop to loop over the elements of an array. You should also be able to write expressions involving arbitrary properties of objects as well as expressions that create objects with arbitrary properties.

Methods

We have learned four methods on string values. You should be able to write expressions involving calls to these methods.

We've also learned three methods on arrays.