2016-05-12 15 views
2

was zum Teufel mache ich hier falsch. Ist eine Funktion kein Objekt in JS?Erwartet Undefiniert als Objekt für Knotenmodul

car.js

'use strict'; 


var Car = function(){ 

}; 

export default Car; 

Auto-test.js

import {expect} from 'chai'; 
import {Car} from '../../src/car'; 

describe('car',() => { 

    it('should have a car to work with',() => { 
     expect(Car).to.be.an('object'); 
    }); 

}); 

UPDATE

Ich konnte sogar die var out nur verlassen, nicht sicher, ob das macht ein Unterschied, die Var zeigt immer noch auf die gleiche Sache, aber ich könnte das auch tun:

function Car(){ 

}; 

export default Car; 
+0

Dein Import ist falsch, deshalb ist 'Car'' undefined'. Es sollte "Import Car from" ../../ src/car ";" sein. –

Antwort

3

a/an testet den typeof Wert für den Artikel. Ja, Funktionen sind Objekte, aber ihre typeof ist "function".

Dies ist nur über die einzige Stelle, wo typeof uns detailliertere Informationen als nur "object" für ein Objekt (in der Tat gibt, kann ich mich nicht von einem anderen; typeof new Date"object" ist, typeof ein regexp Objekt ist "object" usw.). typeof ist ziemlich vage, aber war in dieser einen Situation spezifisch. :-) FWIW, ich beziehe den Typ ein bisschen auf meinem anämischen kleinen Blog: Say what?

+0

also das ist, wo ich die Grundlagen dann vermisse. Ist eine Funktion kein Objekt in JS? – PositiveGuy

+0

ok, cool. Also möchte ich sicher sein, dass ich damit arbeiten kann ... sollte ich also das neue Keyword verwenden, um diesen Test zu bestehen? – PositiveGuy

+0

Ich musste es instanziieren .... – PositiveGuy

Verwandte Themen