Каков стандарт использования кавычек в Typescript?

Я замечаю в своем приложении, что TsLint предлагает:

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

для выше, что:

Message 2   TsLint: ' should be "

теперь это предлагаемый стандарт для Typescript ?

4 ответов


нет конкретного стандарта для использования одинарных кавычек для символов и двойных кавычек для строки, но предлагается использовать двойные кавычки для строк и наоборот.

с docs:

Как и JavaScript, TypeScript также использует двойную кавычку ( " ) или одинарная кавычка ( ' ) для окружения строковых данных.


Это был первый результат в моем поиске google: "double vs single quotes typescript."

учитывая, что принятый ответ немного староват (но все еще действителен из документов), я хотел бы добавить эту цитату из:https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines обновлено 27 ноября 2015 года:

использовать двойные кавычки для строк.

предоставлено "код больше, что вы назвали бы "руководящими принципами", чем фактическим правила.":)


Я бы пошел с одинарными кавычками. Я в значительной степени согласен с этот парень:

  • предпочитаю одинарные кавычки ( ' ), если не убежать.

причина: больше команд JavaScript делают это (например,сервис Airbnb стандартные, НПМ, узел, google / угловой, facebook / react). Его легче печатать (на большинстве клавиатур не требуется сдвиг). более красивая команда рекомендует одинарные кавычки как ну!--3-->

и даже dotnet new шаблоны используют одинарные кавычки для угловых приложений.


документ стандартов кодирования, связанный @crowebird, является хорошим документом:https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines

мне нравятся все рекомендации, кроме двойных кавычек-когда дело доходит до использования typescript с Angular 2.

этот вопрос не о Typescript с Angular 2, но читатели могут быть пользователями Angular 2. Использование одинарных кавычек облегчает чтение при разметке строк html в машинописный текст.

рассмотрим пример:

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

но если вы используете двойные кавычки, вы должны защитить двойные кавычки:

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

первый вариант предпочтительнее. Большинство угловых демо-версий 2 используют одинарные кавычки.