字符串模板-ES6初学习2

字符串模板

字符串模板

反引号 ``

反引号的位置在 tab 键的上方,在英文输入下就能打出来了。在出现 `` 之前如果出现下面的例子我们想在字符串内折行的话是没法做折行的。只能用 + 做拼接的方式。

let str = 'aaa bbb ccc ddd eee fff';        
console.log(str);//输出 aaa bbb ccc ddd eee fff       
let str = 'aaa bbb ccc      
 ddd eee fff';       
console.log(str);//报错了 不可以折行,折行的话只能字符串拼接如下      
let str = 'aaa bbb ccc'+      
 'ddd eee fff';               
console.log(str);//输出 aaa bbb ccc ddd eee fff          

使用字符串模板的话就是这么写

let str = `aaa bbb ccc ddd eee fff`;        
console.log(str);//输出 aaa bbb ccc ddd eee fff       
let str2 = `aaa bbb ccc      
 ddd eee fff`;       
console.log(str);//不会报错,和上面的一样显示        

模板占位符 ${}

模板占位符就是说的用 ${} 来替换一些字符串。比如

let str = 'hello';      
str = str + 'world';//以前的办法就是用+ 号做链接符号。       
console.log(str);       

现在可以用 ${} 来代替。

let str2 = 'hello';      
str2 = `${str2} world`;      
console.log(str2);          


模板占位符支持一些简单的加减乘除以及三目运算规则。比如

let str = `${1+1-4}`;      
console.log(str); 

console.log(' '); 


let obj = `${2>4?2:1}`;     
console.log(obj);        

字符串的方法

includes(), startsWith(), endsWith()

传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6又提供了三种新方法。

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在源字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在源字符串的尾部。

看下面的代码示例

var str = 'hello world';     
str.includes(world);      
str.startsWith(hel);    
str.endsWith(ld!);      
console.log(str.includes('world'));   
console.log(str.startsWith('hel'));     
console.log(str.endsWith('ld!'));      


由于 hello world 后面没有 所以报错了。

repeat()

repeat 方法返回一个新字符串,表示将原字符串重复n次。

var a = 'xiancai'.repeat(2);   
console.log(a);// "xiancaixiancai"      
var b = 'xiancai'.repeat(0);   
console.log(b);// ""返回空      


如果是小数的话会取整

var a = 'xo'.repeat(3.9);   
console.log(a);//"xoxoxo"     

负数只会对 -1 和 0 之间的负数不会报错,小于 -1 的负数都会报错。

padStart(),padEnd()

这两个起到补全长度的作用。 padStart() 补全开始的长度, padEnd() 补全结束的长度。
padStartpadEnd 一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。看下面的代码示例

var x = 'xo'
var a = x.padStart(5,'x');
console.log(a);       
var b = x.padEnd(3,'xo');
console.log(b);  


有错误,但是错误未知,不知道是不是浏览器的问题。回头了再找找问题出在什么地方。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 字符的 Unicode 表示法 codePointAt() String.fromCodePoint() 字符串的...
    卞卞村长L阅读 789评论 0 0
  • ES6加强了对Unicode的支持,并且扩展了字符串对象。 字符的Unicode表示法: JavaScript允许...
    呼呼哥阅读 797评论 0 0
  • 露水的锋芒就是太阳 透过坚硬的光和热 便吞下了一整片滩涂 你本该这样 猴群都向你致意 进一步是海 退一步是深沉 成...
    北郊PM2丶5阅读 245评论 0 4
  • 下班倒计时,办公室空气中轻松的氛围越来越浓。 听到赵雷歌声响起,大肚子孕妇薇薇眉头一皱,懒得站起来走到外面,就坐在...
    溪水音阅读 1,189评论 1 12
  • 情商低下的人,将被历史淘汰。 很多人翻脸比翻书快。脾气来了,福气走了。古人说:小不忍则乱大谋。智商高可以找到好工作...
    乐为阅读 264评论 0 1