谈谈Javascript中的void操作符

由于JS表达式偏啰嗦,于是最近便开始采用Coffeescript来减轻负担。举个栗子,当我想取屋子里的第一条dog时,首先要判断house对象是否存在,然后再判断house.dogs是否存在,最后取house.dogs[0]。在JS需要这么写 1 2 var dog = (typeof house !== ‘undefined && house !== null) && house.dogs && house.dogs[0] 在Coffee中,我只需要这么写: 1 dog = house?.dogs?[0]; 写到这里,读者会问,这跟标题《Javascript中的void》有一毛钱关系?Coffee的本质就是JS,之所以Coffee能工作的很好,是因为它生成出了高效而且健壮的JS代码,我们可以看看它的生成结果。 1 2 3 4 5 var dog, _ref; dog = typeof house !== “undefined” && house !== null ? (_ref = house.dogs) != null ? _ref[0] : void 0 : void […]