logo

`let`、`var`、`const` 声明的变量有什么区别?

What are the differences between variables created using `let`, `var` or `const`?

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: javascript-fundamentals

标签: Scope, TDZ, let, const, var

参考答案摘要

答案 `var` 是函数作用域(或全局作用域),`let/const` 是块级作用域(最近的一对花括号内)。 `var` 声明会被提升并初始化为 `undefined`;`let/const` 也会提升但不会初始化,声明前访问处于 TDZ 会抛错。 `var` 允许重复声明同名变量;`let/const` 不允许。 `let` 允许重新赋值;`const` 不允许重新赋值(但若 const 绑定的...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

`let`、`var`、`const` 声明的变量有什么区别?

Hardjavascript

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案