对象是否使用属性my $str = "Saving to: ‘wapenc?T=mavodi-7-13b-2b-3-96-1e3431a’";
(my $results) = $str =~ /‘(.*?[^\\])‘/;
print $results if $results;
而不是仅使用Symbol.iterator
,以防止我们覆盖对象原型上的iterator
属性?
如果是,还有其他原因吗?
只是试图理解JS中的符号。
答案 0 :(得分:2)
如果只是iterator
,则可能会破坏包含对象的旧代码,这些对象具有称为iterator
的方法。同样,每当JS的设计者希望让开发人员向其对象添加其他特殊方法时,他们就有冒充现有名称并破坏现有代码的风险。
另一种替代方法是Python的__double_underscore__
约定,开发人员不应定义这样的方法。