Website-Suche

TypeScript var vs import


In TypeScript, was ist der Unterschied zwischen

 import http = require('http');

und

 var http = require('http');

Ich sehe, dass in Quellcode beide Möglichkeiten verwendet werden, sind sie austauschbar?

Antwort #1

Ihre import-Anweisung ist TypeScript und wird so in Node nicht ausgeführt. Sie müssen sie zunächst in JavaScript kompilieren (transpilieren?). Sie können die TypeScript-Dokumentation lesen, um mehr darüber zu erfahren, wie das TypeScript-import-Schlüsselwort funktioniert. Siehe den Unterabschnitt „Module verwenden“ im Abschnitt „Namespaces und Module“ des TypeScript-Handbuchs.

Es gibt auch ein import-Schlüsselwort in JavaScript, aber es funktioniert nicht so wie das import in TypeScript. Es funktioniert nur in Node-Versionen, die ES6-Module unterstützen. Es gibt Unterschiede zwischen diesem import und require, über die man unter „ES6 Modules: The Final Syntax“ nachlesen kann. Dieses import kann man mit require vergleichen/gegenüberstellen, aber nicht wirklich mit var.

Antwort #2

Ich hatte dieselbe Anfrage. Habe gerade dies im Abschnitt „Alias“ von Typescript gefunden:

Dies ist ähnlich wie die Verwendung von var, funktioniert jedoch auch für die Typ- und Namensbereichsbedeutungen des importierten Symbols. Wichtig ist, dass es sich bei Werten beim Import um eine eigenständige Referenz zum ursprünglichen Symbol handelt, so dass Änderungen an einer aliasisierten Variable nicht in der ursprünglichen Variable reflektiert werden.

https://www.typescriptlang.org/docs/handbook/namespaces.html#aliases

Verwandte Artikel