タグ付けされた質問 「typescript」

4
TypeScriptとDartの違い[終了]
マイクロソフトは最近、JavaScriptに似た新しいプログラミング言語であるTypescriptを発表しました。少し前に、パフォーマンス、スケーラビリティなどのJavascriptに関連する問題を解決するためにGoogleが作成した新しいプログラミング言語であるDartについて聞きました。 両方の新しい言語の目的は私には同じように見えます。 言語の目的は同じですか? それらの本当の違いは何ですか?
85 dart  typescript 

5
TypeScriptの背後にある動機は何ですか?
この投稿を改善したいですか?引用や回答が正しい理由の説明など、この質問に対する詳細な回答を提供します。十分な詳細のない回答は、編集または削除できます。 この質問はして移行され、それがソフトウェア工学スタック所に答えることができるので、スタックオーバーフローから。 7年前に移行され ました。 JavaScriptがあり、次にFlashがあり、Silverlightがあり、HTML5がそれらすべてを所有していました。 それでは、TypeScriptの背後にある動機は何ですか?TypeScriptでどのような問題に取り組み、どのような改善が得られますか? http://www.typescriptlang.org/

3
クラスコンストラクターにデータ(対動作)を挿入するとはどういう意味ですか、なぜそれが悪い習慣と見なされているのですか?
私はレモヤンセンの「Learning TypeScript」という本を読んでいます。1つのセクションで、作成者は、Modelクラスの作成方法を含む非常に単純な概念実証MVCフレームワークの作成方法を説明し、次のように述べています。 モデルには、使用するWebサービスのURLを指定する必要があります。ModelSettingsという名前のクラスデコレータを使用して、使用するサービスのURLを設定します。コンストラクターを介してサービスURLを注入することもできますが、クラスコンストラクターを介して(動作ではなく)データを注入することは悪い習慣と見なされています。 私はその最後の文を理解していません。特に、「データを挿入する」とはどういう意味かわかりません。過度に単純化された例を使用したJavaScriptクラスのほとんどすべての導入では、データがパラメーターを介してコンストラクターに導入(「注入」)されているようです。例えば: class Person { constructor(name) { this.name = name; } } 私は確かにname行動ではなくデータと考えています。この種の例には、コンストラクタパラメータとして普遍的に含まれており、これが悪い習慣であるという言及は決してありません。したがって、上記の引用にある「データ」または「注入」などの意味を誤解していると思います。 JavaScript / TypeScriptでデコレーターをいつ、どこで、どのように使用するかについての説明を含めることができます。私は、コンセプトが私が求める理解に密接に関連していると強く信じています。ただし、さらに重要なこととして、クラスコンストラクターを介してデータを挿入することの意味と、それがなぜ悪いのかをより一般的に理解したいと思います。 上記の引用をより詳しく説明すると、これは状況です。Modelこの例では、NASDAQ用とNYSE用の証券取引モデルを作成するために使用されるクラスが作成されます。各モデルには、生データを提供するWebサービスまたは静的データファイルのパスが必要です。この本は、コンストラクター・パラメーターではなく、デコレーターをこの情報に使用する必要があると述べており、次のようになります。 @ModelSettings("./data/nasdaq.json") class NasdaqModel extends Model implements IModel { constructor(metiator : IMediator) { super(metiator); } ... } 単にコンストラクタのパラメータとしてではなく、デコレータを介してサービスURLを追加する必要がある理由を理解していません。たとえば、 constructor(metiator : IMediator, serviceUrl : string) {...

2
Phaserなどのステートフルフレームワークのユニットテスト
TL; DRステートフルなフレームワーク内で作業する場合、自動化された単体テストを簡略化するための手法を特定するのに役立ちます。 バックグラウンド: TypeScriptとPhaserフレームワークでゲームを書いています。Phaserは、コードの構造をできるだけ制限しないHTML5ゲームフレームワークとしての地位を占めています。これにはいくつかのトレードオフが伴います。つまり、キャッシュ、物理、ゲームの状態など、すべてにアクセスできるGod-object Phaser.Gameが存在します。 このステートフル性は、私のタイルマップなどの多くの機能をテストすることを本当に困難にします。例を見てみましょう: ここでは、タイルレイヤーを正しくテストして、タイルマップ内の壁と生き物を識別できるかどうかをテストしています。 export class TilemapTest extends tsUnit.TestClass { constructor() { super(); this.map = this.mapLoader.load("maze", this.manifest, this.mazeMapDefinition); this.parameterizeUnitTest(this.isWall, [ [{ x: 0, y: 0 }, true], [{ x: 1, y: 1 }, false], [{ x: 1, y: 0 }, true], [{ x: 0, y: 1 }, …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.