关于delete运算符的问题
阿齐啊阿齐 2016-07-12 09:23:21 在JavaScript权威指南 第六版(淘宝前端译)第89页有这么一段话:
delete希望它的操作数是一个左值,如果它不是左值,那么delete将不进行任何操作同时返回true。否则,delete将试图删除这个指定的左值。如果删除成功,delete将返回true。
个人觉得这段话很奇怪,如果delete是运算符的话,它的操作数不应该是右值吗?
例如:
var foo={x:1,y:2};
delete foo.x;
我又查了JavaScript权威指南 第六版 英文版(84页),这段话是这么说的:
delete expects its operand to be an lvalue. If it is not an lvalue, the operator takes no
action and returns true. Otherwise, delete attempts to delete the specified lvalue.
delete returns true if it successfully deletes the specified lvalue.
英文版的意思感觉应该跟中文差不多啊,为什么说delete期望它的操作数是一个左值?