title: <promise void> in typescript
body: <p>I am trying to learn typescript but i am not clear on few concepts on typescript such as:</p>
  
  <p>1) I am but not the part <code>Object = Object.assign</code></p>
  
  <pre><code>export const htmlElementsMap: Object = Object.assign(
    {},
    homePageElementsMap,
    loginPageElementsMap,
    productDetailPageElementsMap,
    productListPageElementsMap,
    shoppingBagPageElementsMap,
    thankYouPageElementsMap
  );
  </code></pre>
  
  <p>2) Same with this part <code>export const UrlNavigationMap: Object = {</code>
  What is an object?</p>
  
  <p>3) For this function i am not sure what does this <code>PromiseLike&lt;void&gt;</code> means:</p>
  
  <pre><code>performAs(actor: PerformsTasks): PromiseLike&lt;void&gt; {
      return actor.attemptsTo(
        Click.on(homePageElementsMap.lnk_men),
        SearchItemBySku.called()
      );
    }
  </code></pre>
  
  <p>4) <code>export class FillShippingAddress implements Task {}</code> - What does implements means?</p>
  
  <p>and last:</p>
  
  <p>5) What is a <code>static</code> and why it is assigned to the class name?</p>
  
  <pre><code>export class AddItemsToShoppingBag implements Task{
    static called(gender: string): AddItemsToShoppingBag {
      return new AddItemsToShoppingBag(gender);
    }
  </code></pre>