dir.by  
  Поиск  
Программирование, разработка, тестирование
TypeScript - язык программирования похожий на JavaScript. TypeScript использует типы, классы, наследование. TypeScript преобразуется в JavaScript
Конвертируем class в {объект свойств}. Typescript. Пример: var myProps1 = {...myClass1};
  Посмотрели 2689 раз(а)    
 Конвертируем class в объект свойств. TypeScript. 
последнее обновление: 27 декабря 2020
Конвертация класса в объект свойств происходит используя вот такой синтаксис:
{...класс}
Пример
  TypeScript  
class Book
{
     public author: string;
     public price: number;

     constructor()
     {
          this.author = "Alexandr Duma";
          this.price = "12";
     }
}

var book1 = new Book();
// book1 это class Book { author = "Alexandr Duma", price=12}

var myProps1 = {...book1};
// myProps1 это объект свойств { author: "Alexandr Duma", price:12 }
На заметку! Еще примеры копирования и конвертирования... В чем отличие?
Пример
Полный пример
Объяснение
var book2 = book1;
  TypeScript  
class Book
{
     public author: string;
}

// Шаг 1.
var book1 = new Book();
book1.author = "Hello 11111";

// Шаг 2.
var book2 = book1;
book2.author = "Hello 22222";


В отладке Visual Studio Code видим что в конце программы:

book2 это class Book { author = "Hello 22222" }

book1 это class Book { author = "Hello 22222" }

На заметку!
Видим что book1 поменялся
Шаг 1.
  TypeScript  
var book1 = new Book();

Выделили память для класса Book
Переменная book1 содержит class Book
book1 это class Book { author = "" }

  TypeScript  
book1.author = "Hello 11111";

поменяли author
book1 это class Book { author = "Hello 11111" }

Шаг 2.
  TypeScript  
var book2 = book1;

Переменная book2 это ссылка на book1.
В отладке Visual Studio Code мы видим, что book2 это класс Book.
book2 это class Book { author = "Hello 11111" }

  TypeScript  
book2.author = "Hello 22222";

Когда мы меняем book2.author = "Hello 22222";
то автоматически меняется author в book1
то есть становится так:
book1 это class Book { author = "Hello 22222" }

book2 видим в отладке что это class Book { author = "Hello 22222" }
var book3 = {book1};
  TypeScript  
class Book
{
     public author: string;
}

// Шаг 1.
var book1 = new Book();
book1.author = "Hello 11111";

// Шаг 2.
var book3 = {book1};
book3.book1.author = "Hello 33333";


В отладке Visual Studio Code видим что в конце программы:

book3 это объект со свойством {book1 = class Book { author = "Hello 33333" }}

book1 это class Book { author = "Hello 33333" }

На заметку!
Видим что book1 поменялся
Шаг 1.
  TypeScript  
var book1 = new Book();

Выделили память для класса Book
Переменная book1 содержит class Book
book1 это class Book { author = "" }

  TypeScript  
book1.author = "Hello 11111";

поменяли author
book1 это class Book { author = "Hello 11111" }

Шаг 2.
  TypeScript  
var book3 = {book1};

Переменная book3 это объект свойств.
В отладке Visual Studio Code мы видим, что book3 это объект со свойством {book1 = class Book { author = "Hello 11111" }}
Свойство book1 содержит ссылку на переменную book1.

  TypeScript  
book3.book1.author = "Hello 33333";

Когда мы меняем book3.book1.author = "Hello 33333";
то автоматически меняется author в book1
то есть становится так:
book1 это class Book { author = "Hello 33333" }

book3 видим в отладке что это {book1 = class Book { author = "Hello 33333" }}
var book4 = {...book1};
  TypeScript  
class Book
{
     public author: string;
}

// Шаг 1.
var book1 = new Book();
book1.author = "Hello 11111";

// Шаг 2.
var book4 = {...book1};
book4.book1.author = "Hello 44444";


В отладке Visual Studio Code видим что в конце программы:

book4 это объект со свойством { author = "Hello 44444" }

book1 это class Book { author = "Hello 11111" }

На заметку!
Видим что book1 не поменялся
Шаг 1.
  TypeScript  
var book1 = new Book();

Выделили память для класса Book
Переменная book1 содержит class Book
book1 это class Book { author = "" }

  TypeScript  
book1.author = "Hello 11111";

поменяли author
book1 это class Book { author = "Hello 11111" }

Шаг 2.
  TypeScript  
var book4 = {book1};

Переменная book4 это объект свойств.
В отладке Visual Studio Code мы видим, что book4 это объект со свойством {author = "Hello 11111" }

  TypeScript  
book4.book1.author = "Hello 44444";

Когда мы меняем book4.author = "Hello 44444";
book4 это { author = "Hello 44444" }

На заметку! book1 не поменялся
book1 это class Book { author = "Hello 11111" }
Скачать пример
my_typescript_proj.zip ...
размер: 3 kb

Как запустить пример?

Шаг 1. Открываем папку.
Открываем Visual Studio Code и выбираем папку (нажимаем на меню FileOpen Folder и выбираем папку D:/my_typescript_proj)

Шаг 2. Устанавливаем библиотеки.
В Visual Studio Code нажимаем на меню TerminalNew Terminal и выполним:
npm install


Шаг 3. Компилируем проект
Выполним:
npm run MyBuild


Шаг 4. Ставим breakpoint в ts файле и запускаем приложение.
В Visual Studio Code нажимаем на меню RunStart Debugging (или нажимаем на кнопку F5)

Читать подробнее: как запустить приложение с TypeScript в Visual Studio Code...
 
← Предыдущая тема
Декоратор для класса В TypeScript. Пример: @MyDecarator1 class Book {...}
 
Следующая тема →
Сайты для изучения TypeScript
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Что такое TypeScript ?
Как скачать, установить TypeScript ? Как проверить, что установлен TypeScript и какой версии?
Новое приложение
Вариант 1. Приложение пишем в текстовом редакторе, компилируем в командной строке
Создаем новое приложение с TypeScript (компилируем в командной строке TypeScript в JavaScript)
Настройки компиляции Typescript в Javascript в командной строке : removeComments, outFile, outDir
Вариант 2 (для меня лучший). Приложение пишем в Visual Studio Code
Создаем новое приложение TypeScript в Visual Studio Code. Отладка приложения. Смотрим в отладке, как по шагам выполняется TypeScript. Точки остановки.
Создаем новое приложение с TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js). Работает отладка (Debug) и ставятся точки остановки Breakpoints.
Вариант 3. Приложение пишем в Visual Studio 2017
Создаем новое Node.js консольное приложение в Visual Studio 2017 для изучения Typescript
Возможности TypeScript
Декоратор для класса В TypeScript. Пример: @MyDecarator1 class Book {...}
Конвертируем class в {объект свойств}. Typescript. Пример: var myProps1 = {...myClass1};
WWW сайты для изучения TypeScript
Сайты для изучения TypeScript

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика