【发布时间】:2022-11-25 01:06:51
【问题描述】:
我想使用可选的 chaning 运算符 (?.) 来增加对象值。 在我的示例中,我想在一个名为 birthday() 的函数中将一个人的年龄增加一岁,前提是为当前人设置了年龄。 带有 if 子句的行工作正常(如果明显有效,也是 tenary)。但是我想知道是否有可能出现类似下面的行。给出的语法导致 SyntaxError:invalid increment/decrement operand。也许这是一个基于运算符优先级的问题,但我现在知道如何解决它了。
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
let peter = new Person("Peter", 27);
let paul = new Person("Paul", undefined);
Person.prototype.birthday = function() {
if (this.age) this.age++;
};
//Person.prototype.birthday = function(){this?.age++};
peter.birthday();
paul.birthday();
console.log(peter, paul);
【问题讨论】:
标签: javascript operators optional-chaining