Что означает const {something} = Plugins в angular?

#angular #ionic-framework #capacitor

#angular #ionic-framework #конденсатор

Вопрос:

Я создаю приложение ionic и просмотрел руководство youtube.com/watch?v=bww4a4B43tM для включения уведомлений. Здесь он использует код, который выглядит так

 import {Plugins, LocalNotificationEnabledResult,LocalNotificationActionPerformed,LocalNotification,Device} from '@capacitor/core';
const {LocalNotifications} = Plugins;
  

Однако мне трудно понять, что здесь означает вторая строка const {LocalNotifications} = Plugins; ?

Я также видел подобный тип синтаксиса в некоторых приложениях angular, поэтому я не думаю, что это должно иметь какое-то отношение к ionic или capacitor.

Комментарии:

1. Это не специфично для Angular, это чистый JavaScript, поэтому он также существует в TypeScript: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /…

2. Это может помочь: typescriptlang.org/docs/handbook /…

Ответ №1:

Это синтаксис деструктурирования JavaScript, используемый в вашем примере для извлечения значений, вложенных в TypeScript namespace , как показано ниже:

 // foo.ts
export namespace Namespace {
  export class Class {
    public name: string;
  }
  export function Function() {

  }
  export const value = 'some value...'
}

// app.ts
import { Namespace } from 'foo.ts';
const { Class, Function, value } = Namespace;
  

Ответ №2:

Это всего лишь общая вещь JS / TS, не специфичная для angular. Это называется деструктурированием объекта, когда вы извлекаете конкретные свойства объекта.