You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

这段JS代码中修改什么会触发Set函数else分支抛出格式错误?

触发错误的条件

当你给person.fullName赋值不符合「名+单个空格+姓」规则的内容时,就会触发set函数的else分支抛出Invalid name format错误,常见的不符合规则的赋值场景包括:

  • 赋值内容不含空格,比如person.fullName = '张三'
  • 赋值内容包含2个及以上空格,比如person.fullName = '张 三 丰'
  • 赋值内容首尾带空格,比如person.fullName = ' 张三 '(按空格拆分后会得到3个元素,不符合长度为2的判断条件)

对应代码位置

  1. 触发set逻辑的操作:你可以在现有代码的任意位置新增给person.fullName赋非法值的语句,比如放在原有的console.log(person.fullName)之后即可触发错误,示例:
console.log(person.fullName);
// 新增下面这行就会抛出错误
person.fullName = 'JohnDoe';
  1. 抛出错误的代码位置:就是你给出的Object.defineProperty配置项中set函数的else分支,对应代码段如下:
else {
    throw 'Invalid name format';
}

内容的提问来源于stack exchange,提问作者JLMasc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:48:00