title: Strange javascript variable dumping
body: <p>When calling <code>console.dir(myVariable)</code>, I got this strange result:</p>
  
  <pre><code>JS: === dump(): dumping function and properties names  ===                                                                          
  JS: 0:  [                                                                                                                           
  JS: 1: o                                                                                                                           
  JS: 2: b                                                                                                                           
  JS: 3: j                                                                                                                           
  JS: 4: e                                                                                                                           
  JS: 5: c                                                                                                                           
  JS: 6: t                                                                                                                           
  JS: 7:                                                                                                                             
  JS: 8: O                                                                                                                           
  JS: 9: b                                                                                                                           
  JS: 10: j                                                                                                                          
  JS: 11: e                                                                                                                          
  JS: 12: c                                                                                                                          
  JS: 13: t 
  JS: 14: ]
  JS: === dump(): finished ===          
  </code></pre>
  
  <p>What does it means ? Why did I not get a standard object or array output ?  </p>
  
  <p>Please notice that I could not use chrome/firefox developper tool, as I am coding from Telerik NativeScript framework.</p>
  
  <p>Also I am calling this code from a 'Code-Behind' for a component built in Angular 2.</p>
  
  <p>This is the html for the explorer component, explorer.html :</p>
  
  <pre><code>&lt;ActionBar title="{{ 'activity_explorer' | L }}" android.icon="res://icon"
      android.iconVisibilty="always"&gt;
      &lt;ActionItem icon="res://icon_plus" text="{{'menuitem_new' | L}}" (tap)="showMenuItemNew()"&gt;&lt;/ActionItem&gt;
      &lt;ActionItem [icon]="selectionModeIcon()" text="selectionModeItemText()" (tap)="toggleSelectionMode()"&gt;&lt;/ActionItem&gt;
  &lt;/ActionBar&gt;
  
  &lt;GridLayout rows="1*, 12*" modal-dialog-host&gt;
  
      &lt;Label class="path_component" row="0" [text]="_path" textWrap="true"&gt; &lt;/Label&gt;
  
      &lt;ListView row="1" [items]="_files"&gt;
          &lt;template let-item="item"&gt;
              &lt;loloof64-explorer-item-line [checkboxVisible]="_selectionMode" item="{{item}}"&gt;&lt;/loloof64-explorer-item-line&gt;
          &lt;/template&gt;
      &lt;/ListView&gt;
  
   &lt;/GridLayout&gt;
  </code></pre>
  
  <p>This is the html for explorer_item_line component : explorer_item_line.html</p>
  
  <pre><code>&lt;GridLayout columns="1*, 1*, 7*"&gt;
      &lt;loloof64-checkbox #check_comp col="0" [visible]="checkboxVisible"&gt; &lt;/loloof64-checkbox&gt;
      &lt;Image col="1"  (tap)="handleTap()" src="res://folder"&gt;&lt;/Image&gt;
      &lt;Label col="2"  (tap)="handleTap()" text="Text" textWrap="true"&gt;   &lt;/Label&gt;
  &lt;/GridLayout&gt;
  </code></pre>
  
  <p>This is the ExploreItem class :</p>
  
  <pre><code>export class ExplorerItem {
  
      private _name: string;
      private _isDirectory: boolean;
  
      constructor(name: string, isDirectory: boolean){
          this._name = name;
          this._isDirectory = isDirectory;
      }
  
      name(){
          return this._name;
      }
  
      isDirectory(){
          return this._isDirectory;
      }
  
      public isParent() : boolean {
          return this._name === ".." &amp;&amp; this._isDirectory;
      }
  
      public static sort(left: ExplorerItem, right: ExplorerItem): number {
          if (left.isDirectory() === right.isDirectory()) { 
              return left.name().toLowerCase().localeCompare(right.name().toLowerCase());
          }
          else {
              return left.isDirectory() ? -1 : 1;
          }
      }
  }
  </code></pre>
  
  <p>This is the explorer_item_line.ts :</p>
  
  <pre><code>import {Component, Input, ViewChild} from '@angular/core';
  import {Checkbox} from "../checkbox/checkbox";
  import {ExplorerItem} from "./explorer_item";
  
  import * as _ from 'lodash';
  
  @Component({
      moduleId: module.id,
      selector: 'loloof64-explorer-item-line',
      templateUrl: 'explorer_item_line.html',
      styleUrls: ['explorer_item_line.css'],
      directives: [Checkbox]
  })
  export class ExplorerItemLine {
      @Input() checkboxVisible: boolean = false;
      @Input() item: any;
      @ViewChild('check_comp') checkboxComp: Checkbox;
  
      handleTap(){
          if (this.checkboxVisible){
              this.checkboxComp.checked = ! this.checkboxComp.checked;
          }
  
          console.log(JSON.stringify(this.item))
      }
  }
  </code></pre>
  
  <p>I think it is a binding problem between the explorer and explorer_item_line components, but I can't figure why and how to solve it.</p>
  
  <p>And finally, I land on Nativescript debugging page : so I should be able to inspect it in Chrome's developper tool.</p>