我正在阅读可观察的角度文档,我遇到了这种语法.
const locations = new Observable((observer) => { const {next,error} = observer; //... }
使用const {next,error} = observer进行什么类型的赋值;?
我以前没见过这个.任何人都可以给我正确的术语或发生的事情的细分吗?
解决方法
它被称为
Destructuring Assignment.
对于Objects,正如您所注意到的,keys是变量的名称.请注意,这也适用于导入:
// my-export.ts
export class MyClass { //... }
// my-import.ts
import { MyClass } from './my-export.ts'
这对于丢弃死依赖性的树抖动编译器特别有用.
您还可以指定应从中获取变量值的键:
const one = { id: 1 }; const two = { id: 2 }; const { id: first } = one; const { id: second } = two; console.log(first); // 1 console.log(second); // 2
您还可以在阵列上使用Destrucuring Assignment:
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,5]"