2013-11-14 2 views
10

Учитывая рядКак преобразовать число в строку в coffeescript?

п = 42

Что это лучший способ, чтобы преобразовать его в строку?

s = String(n) 

или

s = ''+n 

или лучше предложение?

+0

Можете ли вы уточнить свое определение «лучший»? –

+0

Я имею в виду «естественный» или «очевидный» или «стандартный» способ. Например. в python это будет 'str (n)' –

ответ

17

String interpolation может быть наиболее естественный подход в CoffeeScript:

s = "#{n}" # Just `'' + n` in disguise. 

Это может оставить людей интересно, что вы делаете, хотя.

+0

, это фактически то же самое, что и '' '+ n', но выглядит довольно явным :-) (что также является наиболее эффективной версией [см. этот комментарий] (http: // stackoverflow .com/a/19990524/2297345) –

6

Я думаю, что лучше всего было бы:

(10).toString() 
// or 
n = 11; 
n.toString() 

Edited исправить синтаксическую ошибку. 10.toString() работает в симуляторе CoffeeScript, но лучше быть в безопасности.

3

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

В отношении производительности от this test, это самый быстрый:

s = '' + n 

Другой метод, String(n), медленнее.

+0

Я также добавил '.toString()' в [этот тест] (http://jsperf.com/string-42-vs-42/2), который также довольно медленный –

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