我正在阅读有关可观察对象的 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/