ES6核心知识点与常见面试题.pdfVIP

  • 1
  • 0
  • 约2.09万字
  • 约 32页
  • 2025-09-21 发布于北京
  • 举报

ES6知识点及常考面试题

本章节来学习ES6部分的内容。

var、let及const区别

涉及面试题:什么是提升?什么是暂时性死区?var、let及

const区别?

对于这个问题,我们应该先来了解提升(hoisting)这个概念。

console.log(a)//undefined

vara=1

从上述代码中我们可以发现,虽然变量还没有被,但是我们却可

以使用这个未被的变量,这种情况就叫做提升,并且提升的是声

明。

对于这种情况,我们可以把代码这样来看

vara

console.log(a)//undefined

a=1

接下来我们再来看⼀个例⼦

vara=10

vara

console.log(a)

对于这个例⼦,如果你认为打印的值为undefined那么就错了,答

案应该是10,对于这种情况,我们这样来看代码

ES6知识点及常考面试题

ES6部分的内容。

var,让及const区别

涉及面试题:什么是提升?什么是暂时性死区?var,让及c

onst区别?

对于这个问题,我们应该先来了解提升(提升)这个概念。

console.log(a)//未定义的vara

=1

从上述代码中我们可以发现,虽然变量还没有被,但是我们却

可,这种情况就叫做提升,并且提升的是声,并且提升的是声

对于这种情况,我们可以把代码这样来看

varaConsole.log(a)//

UndefinedA=1

接下来我们再来看一个例子

vara=10varaconsole.log

(a)

对于这个例子,如果你认为打印的值为未定义那么就错了,答10,

对于这种情况,我们这样来看代码,我们这样来看代码

vara

vara

a=10

console.log(a)

到这里为止,我们已经了解了var的变量会发生提升的情况,

其实不仅变量会提升函数也会被提升。

console.log(a)//ƒa(){}

functiona(){}

vara=1

对于上述代码,打印结果会是ƒa(){},即使变量在函数之

后,这也说明了函数会被提升,并且优先于变量提升。

说完了这些,想必大家也知道var存在的问题了,使用var的

变量会被提升到作用域的顶部,接下来我们再来看let和const。

我们先来看⼀个例⼦:

vara=1

letb=1

constc=1

console.log(window.b)//undefined

console.log(window.c)//undefined

function

test(){consol

e.log(a)leta

}

test()

首先在全局作用域下使用let和const变量,变量并不会被挂

载到window上,这⼀点就和var有了区别。

varavaa=10

console.log(a)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档