模板字符串(templating string)在 ECMASCRIPT 6中是最为实用的技术之一,它的出现,巧妙地解决了咱们对字符串处理的不少需求, 有了模板字符串, 对于字符串的处理会显得更加优雅从容.编程
在模板字符串内作拼接操做, 更加符合视觉感觉函数
const getFormateDate = (seperate = '-') => { let date = new Date(), year = date.getFullYear(), month = date.getMonth() + 1, day = date.getDate(); return `${year}${seperate}${month}${seperate}${day}`; } getFormateDate() // "2019-6-5"
在模板字符串内定义多行文本,保留原有格式spa
const articleList = ` <ul> <li> <span>ECMASCRIPT 6 实战之 解构赋值</span> <p>相信解构赋值(Destructuring)自 ECMASCRIPT 6(如下简称 ES 6) 面世以来被你们快速地熟悉并运用到实际开发中了, 这是一种能有效减小代码量,使代码逻辑更简单优雅的技术, 下面咱们就再来回顾、总结一下解构赋值的种种用法吧</p> </li> <li> <span>React Native 传参的五种方式</span> <p>在React Native 中因为业务的须要, 咱们每每要在诸多的页面间,组件之间作一些参数的传递与管理, 在这里我总结了几大通过验证,稳定好用的方式给你们</p> </li> <li> <span>Mobx, 化繁为简的艺术</span> <p>在开发中大型应用的时候,与 React 配合使用的数据状态管理库除了有 Redux, 咱们还有了新选择 -- Mobx, Mobx 是一款提供函数响应式编程的数据状态管理库, 相比于 Redux 的复杂而沉重, 它有着更简单的接口与更少的概念, 只需较少的代码, 便可把数据有效管理起来.</p> </li> </ul> ` 在 `` 中定义的多行字符串会自动保留换行符 [\n\t\r], 这一特性很是 适合在 React 中的 JSX 语法或是 Vue 的 template 中使用
模板字符串内的表达式会自动运行code
例 1: let familyName = 'merga galaxy'; const finalName = `${ familyName.toUpperCase() }` // "MERGA GALAXY" 例 2: const formatMoney = money => { if(!money || money === '') return 0; return money.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,'); } const calcResult = `${ formatMoney(1688168948) }`; calcResult // "1,688,168,948.00"; 例 3: const calcNumber = `${ 1087 + 169 }`; calcNumber // '1256' 例 4: const isChecked = `${ Boolean(1) }`; isChecked // 'true' 例 5: const family_name = 'judas'; const user_name = `${ family_name === 'mega' ? 'galaxy' : 'judas' }`; user_name // 'judas'
模板字符串很是容易理解和上手, 若是还在苦于字符串处理不够简洁优雅的话, 就赶忙用起来吧~~~orm