[英]How to access properly to javascript class values
我当时确实在建立一个用于处理数据库的类构造函数,但是在旅途中,我对javascript的行为产生了一些疑问。
为了更好地理解问题,我将所有内容都简化为最小表达。 这是核心:
name.js
class Name {
constructor(){
this.value = 'mo'
}
setName(){
this.value = 'moom'
}
}
export default new Name()
sayName.js
import name from './name'
const outsideName = name.value
function sayName(){
const insideName = name.value
console.log(insideName) // => moon
console.log(outsideName) // => mo
}
export default sayName
index.js
import name from './name'
import sayName from './sayName'
name.setName()
sayName()
我期望从console(moon)获得相同的输出值。 为什么控制台的输出不同(mo!=== moon)? 如果您能帮助我,我将不胜感激。
outsideName
name.setName()
,将其name
属性的值更改为moon。 name
属性的值。 outsideName
的值 由于您从不会在步骤2之后更改outsideName
,因此不会更改。
我将所有内容减少到最低限度。
您可以进一步减少它。
let object = { foo: 1 }; let value = object.foo; object.foo = 2; console.log( object.foo, value);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.