Which of the following statements about variable declaration and assignment in JavaScript is true?
Variables declared with the var keyword have block scope.
Variables declared with the let keyword are hoisted to the top of their scope.
Variables declared with the const keyword can be reassigned with a new value.
Variables can be declared without assigning a value.
Option A1 is incorrect because variables declared with the var keyword have function scope, not block scope. Option A2 is incorrect because variables declared with the let keyword are not hoisted to the top of their scope like variables declared with var, they have block scope. Option A3 is incorrect because variables declared with the const keyword cannot be reassigned a new value after they are assigned. Option A4 is correct because variables can be declared without assigning a value initially, and they will have the value undefined until a value is assigned later.