В консоли, когда я определяю функцию конструктора, а затем добавляю к ней свойство после факта, выполнение console.log(myConstructor)
не раскрывает это свойство.Однако, когда я запускаю console.dir(myConstructor)
, я теперь вижу добавленное мной свойство и многие другие.В чем разница между свойствами, которые я вижу с console.log
, и теми, которые я не могу?Существуют ли конкретные термины или словарный запас, который можно использовать, чтобы различать эти два типа свойств?
function myConstructor(){
this.sayHi = function(){
console.log("hey")
}
}
myConstructor.boop = "thing"
console.log(myConstructor)
=> ƒ myConstructor(){
this.sayHi = function(){
console.log("hey")
}
}
console.dir(myConstructor)
=> ƒ myConstructor()
boop : "thing"
arguments:null
caller:null
length:0
name:"myConstructor"
prototype:{constructor: ƒ}
__proto__:ƒ ()
[[FunctionLocation]]:VM123:1
[[Scopes]]:Scopes[1]