Подтвердить что ты не робот

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

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

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

для сказанного выше:

Message 2   TsLint: ' should be "

Является ли это рекомендуемым стандартом для Typescript?

4b9b3361

Ответ 1

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

Из документов:

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

Ответ 2

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

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

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

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

Ответ 3

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

  • Предпочитайте одинарные кавычки ('), если не экранируете.

Причина: больше команд JavaScript делают это (например, airbnb, standard, npm, node, google/angular, facebook/реагировать). Его легче набирать (на большинстве клавиатур смены не требуется). Более симпатичная команда также рекомендует одинарные кавычки

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

Ответ 4

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

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

Этот вопрос не о typescript с Angular 2, но читатели могут быть Angular 2 пользователями. Использование одинарных кавычек упрощает чтение при маркировке html-строк в typescript.

Возьмем следующий пример:

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

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

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

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

Ответ 5

Если вы собираетесь встраивать шаблонные строки, верните галочки:

'

Прямо отсюда

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

Лично я предпочитаю одинарные кавычки, потому что '' vs "" немного меньше смущает глазное яблоко при работе с пустой строковой константой.

Но можно переопределить это правило, если вам нужно вставить одну кавычку. Используйте двойные кавычки, чтобы обернуть вещи, чтобы избежать головной боли.

Гибкость является ключом.

Ответ 6

Поскольку кажется, что нет точного и быстрого ответа, что согласовано между языками?

Bash/Powershell/Ruby: "разрешает интерполяцию и экранирование последовательностей." Означает, что строка точно такая, как она напечатана.

Языки в стиле C (Java, С#, C++ и т.д.): "Является строкой while" для отдельных символов.

Python/Javascript: без разницы. Если строка должна содержать ", вы можете разделить ее с помощью" и наоборот.

JSON: только двойные кавычки. Это аргумент наклона.

В разных языках одинарные кавычки подразумевают отсутствие escape-последовательностей и интерполяции.

Typescript имеет обратную совместимость для строк '(back-tick), поэтому я предпочитаю использовать "(двойные кавычки) для неэкранированных строк, как правило, без пробелов и в следующем наборе символов:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789- или [\w\d-]* на многих диалектах регулярных выражений. Это означает, что вы можете копировать литералы объекта pasta в JSON и наоборот. Очень полезно на практике для небольших исследований, тестов и т.д.

Для всего остального, '(обратные галочки), так как он сокращает escape-последовательности и позволяет интерполяцию.

Примечание: я не сторонник JSON, в наши дни это кажется неизбежным;)