Gue*_*lla 6 typescript angular
我正在阅读可观察的角度文档,我遇到了这种语法.
const locations = new Observable((observer) => {
const {next, error} = observer;
//...
}
Run Code Online (Sandbox Code Playgroud)
正在进行什么类型的任务const {next, error} = observer;?
我以前没见过这个.任何人都可以给我正确的术语或发生的事情的细分吗?
这称为解构赋值。
对于对象,正如您所注意到的,键是变量的名称。请注意,这也适用于导入:
// 我的导出.ts
export class MyClass { //... }
Run Code Online (Sandbox Code Playgroud)
// 我的导入.ts
import { MyClass } from './my-export.ts'
Run Code Online (Sandbox Code Playgroud)
这对于删除死依赖项的 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
Run Code Online (Sandbox Code Playgroud)
您还可以在数组上使用解构赋值:
const myArray = [1,2,3,4,5];
const [foo, bar] = myArray;
console.log(`${foo}, ${bar}`); // "1, 2"
Run Code Online (Sandbox Code Playgroud)
您可以跳过数组中的元素:
const [,,bat] = myArray;
console.log(bat); // "3"
Run Code Online (Sandbox Code Playgroud)
您也可以将数组的“其余”元素分配给变量:
const [first, ...rest] = myArray;
console.log(rest); // "[2,3,4,5]"
Run Code Online (Sandbox Code Playgroud)
这只是冰山一角!查看我链接的文章以了解完整情况。