2016-02-16 4 views
11

В Google полно сообщений блога и ответов на вопрос, как следует использовать строковые литералы ES6. И почти каждый пост в блоге объясняя эту функцию в глубине имеют некоторые подробности о том, как реализовать многострочные строки:Длинный, однострочный строковый литерал ES6

let a = `foo 
bar`; 

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

let a = `This is a very long single line string which might be used to display assertion messages or some text. It has much more than 80 symbols so it would take more then one screen in your text editor to view it. Hello ${world}` 

Любые подсказки или обходные пути, или же нужно придерживаться только строк es3?

+1

Вы спрашиваете, как вы должны форматировать код так, чтобы он оставался одной строкой, но отображался редактором по нескольким? Это не имеет ничего общего с JS или ES6, это то, что могут сделать некоторые редакторы. –

+0

@SergiuParaschiv это правда, но это только ответственность редактора исключительно? Для Python, т. Е. Существует руководство по стилю PEP8, в котором предлагается не использовать строки длиной более 80 символов. Разве нет таких рекомендаций для javascript? Как следует просматривать код с более чем 80 строками на github? – canufeel

+0

К сожалению, у сообщества JavaScript нет собственного PEP8. Существуют различные стили и сотни руководств по стилю. На GitHub вы можете видеть код длиной более 80 строк, вам просто нужно прокрутить. Зачем вам так долго писать такую ​​длинную строку? Для этого могут быть обходные пути. – Gpx

ответ

18

Вы можете перейти на новую строку со строкой, используя \. Символ новой строки (\n) не будет отображаться в самой строке.

let a = `This is a very long single line string which might be used \ 
to display assertion messages or some text. It has much more than \ 
80 symbols so it would take more then one screen in your text \ 
editor to view it. Hello ${world}` 

Обратите внимание, чтобы не отступ строки, хотя и отступы будет в строке:

let a = `Hello\ 
     World`; 

a === 'Hello   World' // true 
2

Просто добавить в GPX ответ: вы можете сохранить отступы с this library.

import {oneLineTrim} from 'common-tags' 

oneLineTrim` 
    https://news.com/article 
    ?utm_source=designernews.com 
`) 
// https://news.com/article?utm_source=designernews.com 
Смежные вопросы