JavaScript ES6 模板字符串

偶然发现这个新东西,ES6也有模板了,是使用反引号`,来表示的。

这个新东西被称为字符串字面量,就是模板字符串。它使JS也有了简单的字符串插值特性。

为什么说是简单呢,因为因为它不能不能自动转义特殊字符,不能处理特殊语言格式的日期、时间什么的,也没有循环,,

所以它现在只是一个处理输出字符串的东西,目前无法替代模板引擎。

它的用法很简单,这样:

console.log( `我是 $(json.name)` );

这个$(json.name)就是模板占位符,JS会把相应的值,输出安插在一对反引号``中,对应的位置上。然后输出出来就是这样:我是尚瑞。

这种方式比传统的 += 要优雅许多。模板占位符可以是任何的JS表达式,也可以嵌套使用。

要是你想在反引号模板字符串中使用反引号,那就用\转义一下就可以了。

模板字符串还可以跨多行,就这样:

`
我是 $(name),
你是 $(name2)
`

反正它就是原样输出,你什么空格,换行,缩进都原样输出。

因为目前模板字符串功能还比较弱,ES6给它提供了另一个模板: 标签模板,它算是模板字符串的升级版。它的使用方法就是在反引号前加个SaferHTML,但这东西还不是ES6标准库的,你还得自己实现。。。

我看到这已经不想再看下去了,有学它的功夫我还不如找个好用的的JS模板呢。

谁要是有兴趣,就请自己继续研究下ES6的模板字符串吧。

javascript ES6 初次相见

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2016-02-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

Go中defer的5 个坑-第一部分

首发于:https://studygolang.com/articles/12061 Go 中 defer 的 5 个坑 - 第一部分 通过本节的学习以避免掉入...

26150
来自专栏程序员宝库

48 条高效率的 PHP 优化写法

能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。

25440
来自专栏企鹅号快讯

PHP中被忽略的性能优化利器:生成器

如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP5.5.0才引入的功能,也...

395140
来自专栏鸿的学习笔记

Python写的Python解释器(一)

导论 Byterun是一个用Python实现的Python解释器。它的结构类似于CPython(Python的主流实现方式)。

16120
来自专栏Python专栏

Python | 19个优雅的Python编程技巧

http://lovesoo.org/pythonic-python-programming.html

33430
来自专栏PHP在线

48条高效率的PHP优化写法

1 字符串 1.1 少用正则表达式 能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。 没得说,正则最耗性能。 str_...

754110
来自专栏Java后端技术

通俗易懂详解Java代理及代码实战

代理模式是Java常用的设计模式之一,实现代理模式要求代理类和委托类(被代理的类)具有相同的方法(提供相同的服务),代理类对象自身并不实现真正的核心逻辑,而是...

13810
来自专栏PHP在线

PHP7标量类型声明RFC

一、总结 该RFC建议添加4种新的标量类型声明:int,float,string和bool,这些类型声明将会和PHP原来的机制保持一致的用法。RFC 更推荐给每...

39350
来自专栏MasiMaro 的技术博文

VC 在调用main函数之前的操作

title: VC 在调用main函数之前的操作 tags: [VC++, 反汇编, C++实现原理] date: 2018-09-16 10:36:23 ...

28220
来自专栏程序员互动联盟

【编程基础】extern "C"的用法解析

1.引言   C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种...

34830

扫码关注云+社区

领取腾讯云代金券