Instruction: Compare and contrast the var, let, and const keywords in terms of scope, hoisting, and reassignment.
Context: This question is designed to assess the candidate's understanding of variable declarations, scopes, and block-level scoping in JavaScript.