angular - "const {next, error} = observer"语法是什么?

标签 angular typescript

我正在阅读有关可观察对象的 Angular 文档,我遇到了这种语法。

const locations = new Observable((observer) => {

  const {next, error} = observer; 

  //...
}

const {next, error} = observer; 正在进行什么类型的赋值?

我以前没见过这个。任何人都可以给我正确的术语或正在发生的事情的分割吗?

最佳答案

它叫做 Destructuring Assignment .

对于对象,正如您所注意到的,键是变量的名称。请注意,这也适用于导入:

//我的导出.ts

export class MyClass { //... }

//我的导入.ts

import { MyClass } from './my-export.ts'

这对于删除死依赖项的 tree-shaking 编译器特别有用。

您还可以指定应从中获取变量值的键:

const one = { id: 1 };
const two = { id: 2 };

const { id: first } = one;
const { id: second } = two;

console.log(first); // 1
console.log(second); // 2

您还可以对数组使用解构赋值:

const myArray = [1,2,3,4,5];
const [foo, bar] = myArray;
console.log(`${foo}, ${bar}`); // "1, 2"

你可以跳过数组中的元素:

const [,,bat] = myArray;
console.log(bat); // "3"

您也可以将数组的“其余”元素分配给变量:

const [first, ...rest] = myArray;
console.log(rest); // "[2,3,4,5]"

这只是冰山一 Angular !查看我链接的文章以获取完整图片。

关于angular - "const {next, error} = observer"语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53567461/

相关文章:

javascript - 如何将数据从 API 加载到 Angular 2 中的数组中?

Angular2 - 指令不更新模型

Angular2 ng-bootstrap - 没有提供者错误

javascript - 使用 async/await/Promises 在 JavaScript/TypeScript 中实现事件同步原语

javascript - 表单输入状态颜色不变

node.js - Angular-cli 安装期间出错

angular - 多次调用包含订阅的方法,我应该每次都取消订阅旧订阅吗?

javascript - 根据键过滤对象数组的子集

javascript - 使用字符串列表测试字符串

typescript - 类型 'log10' 上不存在属性 'Math'?