Javascript 我有一个关于对象中变量声明的问题

Javascript 我有一个关于对象中变量声明的问题,javascript,object,Javascript,Object,使用object.create()或构造函数创建对象时 我很好奇使用var来声明一个实例 首先。MDN //形状-상위클래스 函数形状(){ 这个.x=0; 这个。y=0; } // 상위클래스 메서드 Shape.prototype.move=函数(x,y){ 这个.x+=x; 这个.y+=y; console.info('Shape moved'); }; //矩形하위클래스 函数矩形(){ Shape.call(this);//超级생성자 호출. } // 하위클래스는 상위클래스를 확장

使用object.create()或构造函数创建对象时

我很好奇使用var来声明一个实例

首先。MDN

//形状-상위클래스
函数形状(){
这个.x=0;
这个。y=0;
}
// 상위클래스 메서드
Shape.prototype.move=函数(x,y){
这个.x+=x;
这个.y+=y;
console.info('Shape moved');
};
//矩形하위클래스
函数矩形(){
Shape.call(this);//超级생성자 호출.
}
// 하위클래스는 상위클래스를 확장
Rectangle.prototype=Object.create(Shape.prototype);
Rectangle.prototype.constructor=矩形;
var rect=新矩形();
log('rect是矩形的实例吗?',rect instanceof Rectangle);//真的
log('rect是Shape的实例吗?',rect instanceof Shape);//真的
直线移动(1,1);//输出“形状移动”
第二,其他博客

var person=Object.create(原型对象{
“名字”:{
价值:“a”,
可写:对,
可枚举:true
},
“姓氏”:{
值:“b”,
可写:对,
可枚举:true
}
var是一个函数单元范围,我们知道当函数外部和函数内部的变量名相同时会出现问题

所以我知道我主要使用ES6中添加的letconst

在mdn或其他博客中实例化时,使用var


我想知道它是否经常在JavaScript的面向对象语法中使用。

如果我理解正确,你会问
var
声明是否经常在JavaScript中使用。如果是这样的话,答案是。自从ES6问世以来,人们就不再使用它了。你在现代代码中找不到它,但它仍然是c非常旧的源代码中有一个地方没有被重写。

谢谢。当我学习JS、面向对象或实例时,我经常在我创建的语句中看到var。所以我有点困惑,但我明白,由于ES6只使用let和const。同样,现在你可以抛弃
var
,你也可以开始使用
并避免原型运行时更改很难看,但并不总是正确的。