2009-04-11 1 views
4

В JavaScript, кажется, не имеет значения, используете ли вы одиночные кавычки или двойные кавычки при записи строк. Однако некоторые языки программирования относятся к ним по-разному.Должен ли я использовать двойные кавычки или одиночные кавычки для цитирования строк, если я хочу быть последовательным на нескольких языках?

Является ли более надежным, чем другой, на нескольких языках программирования? Существуют ли какие-либо плюсы или минусы, использующие один, а не другой (кроме того, когда апострофы или кавычки находятся в строке)?

Я хотел бы выбрать один, а затем использовать его на нескольких языках программирования - это означает то же самое (если это возможно).

ответ

8

Во многих языках сценариев и оболочек существует значительная разница между двойными и одинарными кавычками. Например, в Perl и много оболочек Unix , когда вы используете двойные кавычки, интерпретатор будет анализировать вашу строку и попытаться сделать какие-либо подстановки для любых переменных в строке. Если вы используете одинарные кавычки, интерпретатор не будет пытаться делать что-либо интересное для строки, как равнина буквальной.

В других языках, таких как C++ или Java, двойные кавычки используются для строк и одного для отдельных литер символов.

Каждый язык может трактовать цитаты по-разному. Я думаю, что в Javascript может быть неважно, какой из них вы используете, но было бы лучше провести некоторое исследование лучших практик, а затем выбрать одну методологию и быть последовательной. Я видел несколько примеров, когда человек решил использовать двойные кавычки в HTML и один в Javascript, но я не уверен, что это «стандарт».

+0

Спасибо за исправления Jonathan –

+0

HTML (и XML) позволяет либо стиль кавычек - оба являются стандартными. – 2009-04-11 23:08:16

+2

Javascript обрабатывает одно и то же двойное кавычки. –

6

Значение полностью зависит от языка, который вы используете, поэтому то, что вы хотите, невозможно.

2

Как правило, я использую двойные кавычки и в Javascript, потому что на большинстве языков, которые я обычно программирую, строки имеют двойные кавычки. в C/C++, например, одиночная кавычка обозначает один символ.

2

В некоторых языках сценариев (например, оболочка, Perl, Ruby и PHP) строки с одним кавычком не поддерживают символьные escape-последовательности (за исключением того, что на некоторых языках, чтобы избежать символов котировки и обратной косой черты) или переменной интерполяции. Строки с двойными кавычками поддерживают оба.

Пример в Perl:

my $name = 'Barney'; 
print "Hello, $name\n"; # "Hello, Barney" (followed by newline) 
print 'Hello, $name\n'; # "Hello, $name\n" 

Итак, если вы хотите, чтобы ваш JavaScript, чтобы быть в соответствии с вышеизложенным, вы, вероятно, хотите использовать одинарные кавычки строки --- но, характер ускользает все еще поддерживаются в однокасканных строках в JS, но не на других языках, упомянутых выше.

+0

Следует также отметить, что некоторые языки не поддерживают одиночные кавычки. Tcl приходит на ум, могут быть и другие. Это не ограничение Tcl, просто выбор дизайна. –

+0

Это не относится к Python. В Python одиночные и двойные кавычки эквивалентны, за исключением того, что вам не нужно избегать цитаты другого типа. Например, строка, содержащая одну одиночную кавычку, может быть записана «\», «\» или «». –

+0

Спасибо, Дерек, я обновлю свою запись. :-) –

0

Значение цитат очень зависит от языка. Некоторые языки также позволяют использовать `` (backquotes) to mean something completely different from the regular '' and "quotes.

1

Если вы намерены перемещаться по нескольким языкам, слишком уютное с тем или иным способом, вероятно, будет контрпродуктивным. Я делаю большую часть своего развития - C# (строки с двойными кавычками), но иногда переключаюсь обратно на Delphi для файлов Win32 (одиночные кавычки). Чем дольше я отсутствую в Delphi, тем больше ошибок я делаю. Как ни странно, когда я работаю с , то и языков сразу немного проще!

Как уже было сказано ранее, вам придется иметь дело с обоими, если вы делаете много кросс-языкового материала, поэтому лучше не беспокоиться об этом.

3

Лично я по умолчанию использовал двойные кавычки; это не столько вопрос «согласованности на разных языках», сколько не думать.

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

Конечно, если вы собираетесь обработать какую-либо строку (встроенное расширение переменной, экранированные символы или что-то еще), вам нужно подумать и использовать все, что подходит для используемого вами языка.

Но для случая 90% +, где «это просто строка, черт возьми», двойные кавычки делают трюк почти везде - по крайней мере, для языков, которые я использую. Я знаю, что это мелочь, но это еще одна вещь, о которой мне нужно подумать.

+0

SQL? - –

+0

Да, мир каждого другого; SQL не является моей значительной частью. Конечно, мой «совет» будет иметь исключения для всех и везде (как я уже сказал, «по крайней мере для языков, которые я использую»). –

0

in c двойные кавычки используются для набора символов. Используется для строк. одинарные кавычки используются для указания одного символа. Если строка хранится в одной кавычки, которая является синтаксической ошибкой.

Смежные вопросы