If I run the following code:
let data = []
person = {}
person[“name”] = “Bob”
person[“age”] = 30
person[“skills”] = {}
person[“skills”][“programming”] = “.NET”
data.push(person)
person = {}
person[“name”] = “Frank”
person[“age”] = 50
person[“skills”] = {}
person[“skills”][“programming”] = “Javascript”
data.push(person)
console.log(data)
I get the expected output:
[
{ name: ‘Bob’, age: 30, skills: { programming: ‘.NET’ } },
{ name: ‘Frank’, age: 50, skills: { programming: ‘Javascript’ } }
]
But if I run the same code but comment out resetting the person variable:
let data = []
person = {}
person[“name”] = “Bob”
person[“age”] = 30
person[“skills”] = {}
person[“skills”][“programming”] = “.NET”
data.push(person)
// person = {}
person[“name”] = “Frank”
person[“age”] = 50
person[“skills”] = {}
person[“skills”][“programming”] = “Javascript”
data.push(person)
console.log(data)
I get this …
[
{ name: ‘Frank’, age: 50, skills: { programming: ‘Javascript’ } },
{ name: ‘Frank’, age: 50, skills: { programming: ‘Javascript’ } }
]
Javascript concurrency, threading, synchronicity, it is all a mystery to me. How do I tell what is synchronous and what is asynchronous?