方括号语法问题

方括号语法问题

https://img1.sycdn.imooc.com//climg/62e2775809299b6303390256.jpg


老师你好,有两个问题

1.上述person的这两个键名是一样的意思吗?

2.在项目开发的时候用的话是获取返回data数据中json的键名吗 ? 做项目不懂回来回顾一下

就类似data[key] key指的是返回数据的{"key":"value"}吗

list:{"key":{ name:zhangsan } }

获取name 的值话是不是就是 list[key].name ?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2022-07-29 09:53:47

同学你好,解答如下:

1、是一个意思。prop的值是age,[prop]就是给person添加age属性。

2、同学的描述有问题。方括号语法,括号中的字符串会被当成变量解析。比如[prop]就是使用变量prop的值。所以data[key]中的key,是变量key,不是接口返回数据中的属性key:

https://img1.sycdn.imooc.com//climg/62e33d37092627f405200214.jpg

data中的数据是固定的,即属性key就是字符串key(固定属性),需要写成data.key。

祝学习愉快!

  • 提问者 伊斯塔废灵 #1

    https://img1.sycdn.imooc.com//climg/62e35ffe09028a7906600347.jpg


    老师你好

    我理解你的意思,现在我测试的时候又出现了新问题:

    "key1"下的 变量 childrenkey的话要怎么获取,

    我的理解是:获取不到是因为"childrenkey"把前面的childrenkey覆盖了重新赋值

    2022-07-29 12:29:05
  • 好帮手慕久久 回复 提问者 伊斯塔废灵 #2

    同学没有用方括号包裹childrenkey,所以key1下的childrenkey不是变量;它就是一个普通的字符串属性,即key1下有2个重名属性childrenkey。同名属性,后面的会覆盖前面的,所以只能打印“我是嵌套的数据2”。

    参考如下:

    https://img1.sycdn.imooc.com//climg/62e36b0309168d3c10420339.jpg

    https://img1.sycdn.imooc.com//climg/62e36b3e09d79f9409060285.jpg

    const childrenkey="otherkey"
      const data={
        key1:{
          [childrenkey]:"我是嵌套的数据1",
    
          "childrenkey":"我是嵌套的数据2"
        }
      }
      console.log(data.key1[childrenkey]);
      console.log(data["key1"][childrenkey]);

    2022-07-29 13:08:57
  • 提问者 伊斯塔废灵 回复 好帮手慕久久 #3

    理解了 谢谢老师!

    2022-07-29 13:15:25
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师