dir.by  
  Search  
Programming, development, testing
TypeScript - programming language similar to JavaScript. TypeScript uses types, classes, inheritance. TypeScript converted to JavaScript
Конвертируем class в {объект свойств}. Typescript. Пример: var myProps1 = {...myClass1};
  Looked at 2687 times    
 Конвертируем class в объект свойств. TypeScript. 
last updated: 27 December 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...
 
← Previous topic
Decorator for the classroom in the TypeScript. Пример: @MyDecarator1 class Book {...}
 
Next topic →
Sites to explore TypeScript
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

  Объявления  
  Объявления  
 
What the TypeScript ?
How to download, install TypeScript ? How to check what is installed TypeScript and which version?
Новое приложение
Вариант 1. Приложение пишем в текстовом редакторе, компилируем в командной строке
Create a new application with TypeScript (compile in the command line TypeScript in JavaScript)
Compilation settings Typescript in Javascript At the command prompt: removeComments, outFile, outDir
Вариант 2 (для меня лучший). Приложение пишем в Visual Studio Code
Create a new application TypeScript in Visual Studio Code. Debug the application. We look in debugging how TypeScript is executed step by step. Breakpoints.
Создаем новое приложение с TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js). Работает отладка (Debug) и ставятся точки остановки Breakpoints.
Вариант 3. Приложение пишем в Visual Studio 2017
Создаем новое Node.js консольное приложение в Visual Studio 2017 для изучения Typescript
Возможности TypeScript
Decorator for the classroom in the TypeScript. Пример: @MyDecarator1 class Book {...}
Конвертируем class в {объект свойств}. Typescript. Пример: var myProps1 = {...myClass1};
WWW sites to explore TypeScript
Sites to explore TypeScript

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