一.es6的语法 1.let与var的区别 ES6 新增了let命令,用来声明变量.它的用法类似于var(ES5),但是所声明的变量,只在let命令所在的代码块内有效.如下代码: { let a = 10; var b = 1; } a // ReferenceError: a is not defined. b 上面代码在代码块之中,分别用let和var声明了两个变量.然后在代码块之外调用这两个变量,结果let声明的变量报错,var声明的变量返回了正确的值.这表明,let声明的变量只在它所在的
一.ES6模板字符串 传统定义字符串的方式是: const str='hello es2015,this is a string' ES6新增了一种定义字符串的方式用反引号进行标识 const str=`hello es2015, this is a string` 传统的字符串如果想换行的话需要如果加\n,而模板字符串的话可以直接换行 const name='tom' const msg=`hey,${name}` const mfg=`hey,${Math.ramdom()}` 模板字符串内
首先,模板字符串和标签模板是两个东西. 标签模板不是模板,而是函数调用的一种特殊形式.“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数. 但是,如果模板字符串中有变量,就不再是简单的调用了,而是要将模板字符串先处理成多个参数,再调用函数.(ES6标准入门-阮一峰 4.12标签模板) 由此引出此文,先上代码: var a = 5; var b = 10; tag`Hello ${ a + b } world ${ a * b }`; //等同于 tag(['Hello ', ' wor
1)直接使用变量 // before var str = 'test'; console.log(str + "123"); // now var str = 'test'; console.log(`${str}123`); 备注:如需使用字符$或{,请使用`\$`或`\{` 2)多行书写 // before document.write( '<div>' + '<span>test<span>' + '</div>') // now
Template literals are string literals allowing embedded expressions. You can use multi-line strings and string interpolation features with them. They were called "template strings" in prior editions of the ES2015 specification. http://es6.ruanyi