Angular/JavaScript 中 result.id 和 result['id'] 之间的区别?

2024-02-18

我想知道 Angular/JavaScript 中的 result.id 和 result['id'] 有什么区别? 如果我输入:

getId(){
  this.service.getId().subscribe(
    result=>{ var i = result.id; }//this...
  )
}

...有时编译器用红色下划线装饰 result.id (错误)然后我将其更改为:

getId(){
  this.service.getId().subscribe(
    result=>{ var i = result['id']; }//with this
  )
}

装饰消失。但有时我可以写 result.id 而看不到任何错误。

请注意,result类型是any !!!

所以我对两个案例有点困惑。我错过了什么 ?

不管怎么说,还是要谢谢你!


方括号表示法允许使用不能与点表示法一起使用的字符:

var foo = myForm.foo[]; // incorrect syntax
var foo = myForm["foo[]"]; // correct syntax

其次,在处理以可预测的方式变化的属性名称时,方括号表示法非常有用:

for (var i = 0; i < 10; i++) {
  someFunction(myForm["myControlNumber" + i]);
}

Roundup:

1. Dot notation is faster to write and clearer to read.
2. Square bracket notation allows access to properties containing special characters and selection of properties using variables

不能与点表示法一起使用的字符的另一个示例是本身包含点的属性名称。

例如,json 响应可能包含一个名为bar.Baz.

var foo = myResponse.bar.Baz; // incorrect syntax
var foo = myResponse["bar.Baz"]; // correct syntax
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular/JavaScript 中 result.id 和 result['id'] 之间的区别? 的相关文章

随机推荐

  • python2 与 python3 中的地图[重复]

    这个问题在这里已经有答案了 我是一个初学者 python 用户 我在 python2 7 和 python3 4 3 上运行了以下代码 import matplotlib pyplot as plt import numpy as np i
  • WPF 文本块,文本属性中的换行符

    有没有办法拥有 n在 a 中换行TextBlock
  • 如何创建文件并从 html 页面附加数据?

    我的桌面上有一个 html 文件 需要一些输入 我将如何将该输入写入计算机上的文件中 我是否必须使用另一种语言来执行此操作 即 python 或 javascript 以及我将如何执行此操作 相关说明 有什么方法可以让 javascript
  • wordpress is_home() || is_index() 可能吗?

    我在 header php 中有一个测试 看看我们是否在家显示英雄 div class inner clearfix div 但是当用户登陆index php时 英雄并没有被显示 显然没有 is index 条件 有谁知道我如何测试它的主页
  • 如何使用 Json.Net (newtonsoft) 连接两个 Json 对象[重复]

    这个问题在这里已经有答案了 我想将一些 JSON 对象连接成一个 JSON 对象 如何使用 NewtonSoft 的 JSON 包来做到这一点 Use JContainer Merge 将 JSON 对象组合在一起的逻辑相当简单 名称 值被
  • 在哪里可以找到 Perl 编程语言的形式语法?

    我知道 Perl 语法是不明确的 并且它的消歧是不平凡的 有时涉及在编译阶段执行代码 http www modernperlbooks com mt 2009 08 on parsing perl 5 html 无论如何 Perl 是否有正
  • Firestore 安全规则 - 查询集合时检查文档字段

    当查询文档集合并使用安全规则检查文档上的字段以允许读取时 我得到 Uncaught Error in onSnapshot Error Missing or insufficient permissions 我的查询 firebase fi
  • 使用反射获取 Kotlin 中带注释的函数列表

    我是 Kotlin 新手 我想做以下事情 用注释来注释一些函数 例如 可执行文件 运行时 获取带有该注解的所有函数 检查注释上的属性 如果它与条件匹配 则调用该函数 我有以下代码 annotation class Executable va
  • 使用模板时初始化数组

    假设我有课Foo 以下工作正常 class Foo public const int bar Foo bar new int 2 1 2 但是 我尝试稍微更改一下以使用模板 template
  • 在 Gulp 任务中获取相对源/目标

    假设我有一个文件 Users me app src scripts foo js 我设置了一个 gulp 任务 将该文件写入 Users me app dist scripts foo js gulp src src scripts foo
  • 将 google 字体 (fonts.googleapis.com) 添加到 CSP 标头

    我在 gitHub 页面上托管一个个人项目 并使用 cloudflare 强制执行 https 现在我想实施 CSP 政策 我尝试将元标记添加到页面的头部 但我收到以下错误 拒绝加载样式表 https fonts googleapis co
  • VB 按住按键

    我正在创建一个宏程序来记录和回放鼠标和键盘输入 录音效果很好 鼠标播放也很好 但我在播放键盘输入时遇到了麻烦 特别是在释放之前按住某个键几秒钟 这并不等同于重复按键 这是我尝试过的 技术 1 Me KeyDown Private Sub k
  • 从 ASP 脚本使用 dll 的最佳方法

    我正在编写一些 ASP 代码来服务来自公司 Intranet 上的简单 HTML 表单的请求 该代码需要从 COM dll 调用方法 我正在使用代码 myObject Server CreateObject myDLL myClass 但它
  • 简单语法:Alter Table 语句中的多个约束

    如果我有这样的声明 ALTER TABLE RecipeBox Recipe ADD CONSTRAINT AKRecipeBox Recipe Name UNIQUE NONCLUSTERED Name 如何向此语句添加另一个约束 这可能
  • 如何真正删除 VSTS / Azure-devops 上的提交

    我正在开发 VS 2017 我们有云 VSTS Azure devops 我最近提交并推送了 并意识到 8 个文件不应该在其中 之后我再次提交了一份干净的文件并推入远程 现在我可以在 VSTS 网站 portail 中看到这两个提交 问题是
  • 如何使用自定义 python 类型参数发出 PySide 信号?

    我在 PySide python Qt 程序中正确使用信号时遇到问题 我想发出一个信号 该信号采用自定义 python 类型的单个参数 这文档 http www pyside org docs pyside git newsigslot h
  • 删除行时平滑重新加载 uitableview 数据

    我试图在 uitableview 滚动到屏幕底部时重新加载它 我删除前几行并在底部添加更多行 Before新闻行被添加到 uitableview 的数据源中 我称之为 tableview reloaddata 方法 这是因为我希望表视图显示
  • 访问被拒绝:hyperledger Fabric Channel.initialize()

    我正在使用 java sdk 并在初始化通道时遇到错误 Channel mychannel fabClient getInstance newChannel Config CHANNEL NAME Orderer orderer fabCl
  • 在 C++ 中将字符串转换为短字符串

    因此 我四处寻找如何将字符串转换为短整型 并发现了很多有关如何将字符串转换为整数的信息 我会留下一个问题作为对这些线程的评论 但我没有足够的声誉 所以 我想做的是将字符串转换为短字符串 因为数字永远不应该超过三或低于零 并且短字符串可以节省
  • Angular/JavaScript 中 result.id 和 result['id'] 之间的区别?

    我想知道 Angular JavaScript 中的 result id 和 result id 有什么区别 如果我输入 getId this service getId subscribe result gt var i result i