yisainan / web-interview

我是齐丶先丶森,收集整理全网面试题及面试技巧,旨在帮助前端工程师们找到一份好工作!更多详见公众号「前端面试秘籍」
MIT License
2.62k stars 505 forks source link

[选择题] 34.(单选题)下面代码的输出是什么 #1012

Open qiilee opened 4 years ago

qiilee commented 4 years ago
const name = "Lydia";
age = 21;

console.log(delete name);
console.log(delete age);
A:false, true
B: "Lydia", 21
C: true, true
D: undefined, undefined

答案:A

解析:

delete 操作符返回一个布尔值:true 指删除成功,否则返回 false .但是通过 var , const 或 let 关键字声明的变量无法用 delete 操作符来删除。

name 变量由 const 关键字声明,所以删除不成功:返回 false 而我们设定 age 等于 21 时,我们实际上添加了一个名为 age 的属性给全局对象。对象中的属性是可以删除的,全局对象也是如此,所以 delete age 返回 true