タグ

TypeScriptとIDEに関するraimon49のブックマーク (6)

  • TypeScript で string 型の値に自動補完を効かせる: Days on the Moon

    結論 type X = 'foo' | 'bar' | (string & {}); のように、文字列リテラル型の共用体型に | (string & {}) を付け足した型 X を定義します。X 型は任意の文字列を受け付けますが、IDE (Visual Studio Code など) で X 型の値を入力するときには 'foo' と 'bar' が自動補完の候補として提示されます。 解説 単純に type X = 'foo' | 'bar' | string; と書いてしまうと、共用体型の各要素がまとめられて、X は単なる string 型になってしまいます。{} 型は null と undefined を除く任意の値を受け付けるので、string & {} 型は実質的に string 型と同一なのですが、TypeScript 4.4 の時点では同一扱いされず、共用体型の各要素がまとめられ

  • プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog

    κeenです。最近JEITAのソフトウェアエンジニアリング技術ワークショップ2020に参加したんですが、そこで五十嵐先生、柴田さん、Matzとパネルティスカッションをしました。その議論が面白かったので個人的に話を広げようと思います。 年末年始休暇に書き始めたんですが体調を崩したりと色々あって執筆に時間がかかってしまいました。 時間を置いて文章を書き足していったので継ぎ接ぎ感のある文体になってるかもしれませんがご容赦下さい。 というのを踏まえて以下をお読み下さい。 いくつか議題があったのですが、ここで拾うのは一番最後の「プログラミング言語の未来はどうなるか」という話題です。 アーカイブが1月末まで残るようです。もうあと数日しかありませんが間に合うかたはご覧下さい。 そのとき各人の回答を要約すると以下でした。 五十嵐先生:DSLを簡単に作れる言語というのが重要。それとプログラム検証、プログラム

    プログラミング言語の未来はどうなるか | κeenのHappy Hacκing Blog
    raimon49
    raimon49 2021/01/27
    obj.method()形式のオブジェクト指向っぽいメソッド呼び出しはIDEなどが補完するタイミングを読み取るのに優しいから生き残るっていう考察がとても面白くて腹落ちした。
  • JavaScript と altJS - ペパボのフロントエンドスタンダード

    TypeScript について (1) 利用するメリット Java や C# のような文法の altJS です。下記に当てはまる場合は有力な選択肢です。 既存プロジェクトを altJS に移行したいとき JavaScript の文法そのままコピーして使用できるため 静的型付けをしたいとき 現状 TypeScript 一択です 新規の中・長期に渡る大規模プロジェクトのとき 静的型付やインターフェースを利用できるため (2) 利用上の注意 ただし TypeScript を利用する上で注意する点もあります。 コンパイルが遅い 型チェック等があるため、altJS の中でも特に遅めです this の用法が増える クラスのメンバ変数の参照には this.foo と記述します (3) サンプルコード // sample.ts module Saying { export class Greeter {

    JavaScript と altJS - ペパボのフロントエンドスタンダード
    raimon49
    raimon49 2014/12/25
    エディタやIDEへの資料ポインタがあるのが良い。
  • 開発環境までもWeb化?! Visual Studio Online “Monaco”機能徹底解説(Win&Mac対応)

    Visual Studioのオンライン版?! Webブラウザー上で動作する開発環境“Monaco”で開発はどう変わるのか? その全機能をさまざまなブラウザーで徹底的に試してみる。さらにデスクトップアプリ開発も実験してみる。 連載 INDEX 次回 → 先日(米国時間で11月13日に)開催されたオンラインイベント「Visual Studio 2013 Launch Event 」の中で、「Visual Studio Online」が発表された。この名前を文字通りに受け取るなら、「Visual Studioの“オンライン版”」という意味になるだろう。しかし実際に発表されたその内容は(筆者の理解では)、これまで「Team Foundation Service」と呼んでいたものを強化しつつ、名称変更したにすぎないものだった。 これでは「命名と実体が合っていない」ということになる。ところがこの命名の

  • MonoDevelop C#バインディングについて (ついでにtypescriptバインディングの話) - ものがたり

    この記事はC# Advent Calendar 19日目の参加エントリです。昨日はMuto Masayukiさんでした。 sorry in advance (?) 実はもうちょっと具体的に動くコードを書いて、その説明ということにしたかったのですが、マシントラブルで数日間stuckしてしまいまして、肝心の部分はテキスト中心になります。あらかじめごめんなさい。 今回のお題: MonoDevelop C#バインディング C# Advent Calendar経由で来られた方はご存じなかろうと思いますが、2ヶ月ほど前にMonoDevelop/GTK#勉強会というものがありました。そこでは、MonoDevelopとは一体何なのか、IDEであるところのMonoDevelopはどのような機能を実装する(期待されている)のか、といった話をしました。興味がある方は、勉強会の時に使ったスライドより、MonoDe

    MonoDevelop C#バインディングについて (ついでにtypescriptバインディングの話) - ものがたり
  • neue cc - linq.jsのTypeScript対応とTypeScript雑感

    MicrosoftからTypeScriptという新言語が発表されました。驚くべきは、あのC#のAnders Hejlsbergが関わっている!これはもう触るしかない。そしてこれはコンパイル後にJavaScriptになる言語(CoffeeとかJSXとかみたいな)なわけで、じゃあlinq.jsを対応させるしかない!というわけで、させました。 // TypeScript Enumerable.range(1, 10) .where(x => x % 2 == 0) .select(x => x * x) .writeLine(); // コンパイル後 Enumerable.range(1, 10).where(function (x) { return x % 2 == 0; }).select(function (x) { return x * x; }).writeLine(); ひゃっはー

    raimon49
    raimon49 2012/10/12
    正式リリース版ではジェネリクスに対応予定なのか。これはすごい。
  • 1