Каков стандарт использования кавычек в 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 используют одинарные кавычки.