web-dev-qa-db-ja.com

Typescriptで引用符を使用するための標準は何ですか?

アプリケーションでTsLintが提案していることに気付きます:

static $inject = [
        '$http',
        '$q',
        '$scope',
        'configService',
        'stateService',
        'utilityService'
    ];

上記について:

Message 2   TsLint: ' should be "

これは現在TypeScriptの推奨標準ですか?

56

文字に一重引用符を使用し、文字列に二重引用符を使用する特定の標準はありませんが、文字列に二重引用符を使用すること、またはその逆を使用することをお勧めします。

docs から:

JavaScriptと同様に、TypeScriptも二重引用符( ")または一重引用符( ')を使用して文字列データを囲みます。

12
Rahul Tripathi

これは、「二重引用符と単一引用符のTypeScript」に対するGoogle検索の最初の結果でした。

受け入れられた答えは少し古いと考えていますが(ドキュメントからはまだ有効です)、この引用を追加したいと思います: https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines updated 2015年11月27日:

文字列には二重引用符を使用します。

「コードは実際のルールよりも「ガイドライン」と呼んでいるものです」 :)

39
crowebird

一重引用符で囲みます。 this guy :にほぼ同意します。

  • エスケープしない限り、単一引用符( ')を優先します。

理由:より多くのJavaScriptチームがこれを行います(例 airbnb 、standard、 npmnodegoogle/angular 、- facebook/react )。入力が簡単です(ほとんどのキーボードでシフトは不要です)。 きれいなチームは一重引用符も推奨しています

また、dotnet newテンプレートは、Angularアプリに単一引用符を使用します。

29

@crowebirdによってリンクされたコーディング標準ドキュメントは優れたドキュメントです。 https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines

二重引用符を除くすべてのガイドラインが好きです-Angular 2。

この質問は、Angular 2のTypeScriptに関するものではありませんが、読者はAngular 2ユーザーです。一重引用符を使用すると、 TypeScript。

次の例をご覧ください。

@Component({
    ...,
    template: '<div class="some-class-name"></div>'
})

ただし、二重引用符を使用している場合は、二重引用符をエスケープする必要があります。

@Component({
    ...,
    template: "<div class=\"some-class-name\"></div>"
})

最初のオプションが望ましいです。ほとんどのAngular 2デモは一重引用符を使用します。

11
mkaj

難しい答えはありませんので、言語間で一貫性はありますか?

Bash/Powershell/Ruby: "補間およびエスケープシーケンスを有効にします。 'は、入力されたとおりの文字列であることを意味します。

C-style言語(Java、C#、C++など): "は文字列ですが、 'は単一文字です。

Python/Javascript:違いはありません。文字列に「」を含める必要がある場合は、「」で区切るか、逆も同様です。

[〜#〜] json [〜#〜]:二重引用符のみ。これは傾きの議論です。

言語間では、単一引用符はエスケープシーケンスと補間の欠如を意味します。

TypeScriptには `(バックティック)文字列との下位互換性があるため、私の好みはエスケープされていない文字列には"(二重引用符)を使用で、通常は空白がなく、次の文字セットです:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- または [\w\d-]*多くの正規表現方言で。つまり、パスタオブジェクトリテラルをJSONにコピーしたり、その逆を行うことができます。実際には、ほとんど調査、テストなどに役立ちません。

その他すべて、 `(バックティック)エスケープシーケンスを削減し、補間を有効にするため

注:私はJSONの擁護者ではありません。最近では避けられないようです;)

2
Seth

テンプレート文字列を埋め込む場合、バックティック:

`

here から直接

const lyrics = 'Never gonna give you up';
const html = `<div>${lyrics}</div>`;

個人的には単一引用符が好きです。なぜなら'' vs ""は、空の文字列定数を処理するとき、眼球を少し混乱させません。

ただし、単一引用符を埋め込む必要がある場合は、このルールをオーバーライドしてもかまいません。頭痛を回避するために、二重引用符を使用して物事をラッピングします。

柔軟性が鍵です。

1
JGFMK