Yes, let and const are hoisted in JavaScript, but they are not initialized. They remain in a "temporal dead zone" (TDZ) from the start of the block until the declaration is encountered, so accessing them before declaration throws a ReferenceError.
Example:
console.log(a); // ReferenceError
let a = 10;
Unlike var, which is hoisted and initialized with undefined, let and const are hoisted but not accessible before declaration.