I'm a bit confused with JavaScript's delete operator.I am begginer in JS. Take the following piece of code:
function removeName (person){
let user = {
name : "name",
surname: "surname"
} ;
console.log(delete user.name);
}
let x;
x = removeName();
console.log(x);
After this piece of code has been executed,I take as output true and undefinied, I take undefinied because I find it difficult to do object in function but true why? Please I am a beginner, so I think my code is miserable.
This confuses me, because I expected that writing delete user.name would delete it and not just throw a true one.
Delete returns true. However you return nothing, so the function retuns undefined.
let user = {
name : "name",
surname: "surname"
};
delete user.name
console.log(user);
Looking at the definition of removeName, you're expected to send a person. You're currently not doing that, and you're placing the person inside the function too, and that would just end up scoping the person to this object.
So based on that info, this is how I assume you meant to write the code.
let user = {
name : "name",
surname: "surname"
};
function removeName (person){
delete person.name;
}
removeName(user);
console.log(user);