ES6的多行字符串

HTML的内容为了易读,需要多行书写,保留缩进和回车
但是在JS中这样书写是合法的,错误提示Unterminated string literal

var htmlString = "

        
            
            
            HTML
        
        
        
    
"

ES6中的模版字符串

模板字符串(Template String)是增强版的字符串,用反引号(``)标识,可以定义多行字符串,所有的空格、缩进和换行都会被保留

var htmlString = `

        
            
            
            HTML
        
        
        
    
`

ES5的hack

在ES5中有三种合法的方式来写这种多行字符串

转义newline

var htmlString = "  \
  \
          \
              \
              \
            HTML  \
          \
          \
          \
      \
"

拼接字符串

var htmlString = " +
 +
         +
             +
             +
            HTML +
         +
         +
         +
     +
"

join字符串数组

var htmlString = [
'' ,
        '',
            '',
            '',
            'HTML',
        '',
        '',
       ' ',
    ''
].join('')

这样对比一看,还是ES6语言的新特性方便很多

你可能感兴趣的:(ES6的多行字符串)