2012-12-14 80 views
4
做一個字符串字面量平均

Coffeescript docs包含以下Blurb的什麼的CoffeeScript

串插座字符串和塊註釋 紅寶石風格的字符串插值包括在CoffeeScript的。雙引號字符串允許插值,使用#{...},單引號字符串是文字。

有人可以解釋什麼「單引號字符串是字面的」是什麼意思?

這是否意味着沒有解釋?是否還有更多javascripty的含義?

我問,因爲我在使用單引號字符串和雙引號作爲對象鍵時看到了差異。

+0

短語*「單引號字符串是文字」*是否更清楚?我必須承認,當我第一次在他們的文檔中閱讀時,我也感到困惑,但我認爲這只是一個簡單的「緊張的混亂」錯誤。 –

+1

好的,這可能只是我對JavaScript的知識缺乏。我不知道字符串文字是_thing_。只需閱讀它們[這裏](https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Values,_variables,_and_literals#String_literals)。清理一些東西。 –

+0

請注意,使用雙引號「'與單引號」或「」分隔的字符串之間沒有實際的語義差異。兩種語言的處理方式完全相同。你使用的只是選擇一個慣例並堅持下去的問題。 (很明顯,我推薦我自己,我在下面提到) –

回答

5
name = "George" 

"My Name: #{name}" ====> "My Name: George" 
'My Name: #{name}' ====> "My Name: #{name}" 

在這種情況下,文字意味着它是字面上你的字符串

中寫到出於這個原因(和其他幾個人),我喜歡用雙引號的約定,當字符串對最終用戶有意義的自然語言(例如錯誤消息)。用於程序有意義的符號的單引號(如屬性名稱,標誌,模塊名稱等)。

不,這不是你的錯,「文字」這個詞有20個在cs中的定義。

+0

好的,所以我應該可以將兩者都用作Coffeescript中的字符串鍵? –

+0

是的,試圖確定'字面'這個詞在咖啡標記中的意思是讓新手感到困惑。 –

+0

是的,在javascript中它們之間沒有任何區別。在coffeescript中,唯一的區別是雙引號允許插值,而單引號不能。 –

相關問題