最近在写react Native的时候发现在使用ES6定义class的时候,对其属性方法书写的时候,存在变量提升,看代码
image.png
刚开始我以为这个是jsx语法特有的,后来我用ES6语法定义class的时候,发现现象一样,
// A文件
class A {
getname () {
console.log(number)
}
}
const number = '1'
export default new A()
import A from './A'
A.getname() // "1"
所以总结下:就是在定义class内部函数时,用到的变量,会存在变量提升,但是仅限class外部的变量
网友评论