ES6之模板字符串及字符串新增方法

简介: ES6之模板字符串及字符串新增方法



前言

在使用字符串输出时,如果其中存在变量,经常会采用字符串拼接的方法进行。即isName.innrtHTML="姓名:"+name+"<br>"

这种方法会有大量的双引号和加号出现,很繁琐,ES6引入了模板字符串进行简化。

同时向大家介绍ES6引进的新字符串方法。


一、模板字符串的使用

1.基本形式

//传统的
  isName.innrtHTML="姓名:"+name+"<br>";
  //模板字符串
  isName.innrtHTML=`姓名:${name} <br>`;

2.表示多行字符串

表示多行字符串时,所有空格和缩进都会保存在输出中。

console.log(`How old are you?
        I am 20.`);
        //输出就是:How old are you?
        //             I am 20.

3.${}中的大括号看可以放任意Javascript表达式,还可以进行运算及引用对象属性等

var x = 11;
    var y = 22;
    console.log(`x=${++x},y=${x+y}`);//12 34

4.可以调用函数

如果函数结果不是字符串,则按照一般的规则转化为字符串

function string() {
            return 25;
        }
        console.log(`How old are you
       I am ${string()}`);

二、ES6新增方法

1.查找方法

传统的JavaScript只有indexof()和lastindexof()方法,可以返回一个字符串是否包含在另一个字符串中。ES6又提供以下三种方法:

(1)includes(String,index):返回布尔值。参数String表示要查找的字符串,index表示从源字符串什么位置开始查找。从index位置往后查找是否包含,包含返回true,否则false。

(2)startsWith(String,index):返回布尔值。表示参数字符串String是否在源字符串的头部,index表示从源字符串开始查找的位置。

(3)endsWith():返回布尔值。表示参数字符串String是否在源字符串的尾部,index表示从源字符串后面什么位置开始查找。

let str = 'http://www.haoze.edu.cn';
        if (str.startsWith('http://')) {
            console.log(str + "是普通网址");
        } else if (str.startsWith('https://')) {
            console.log(str + "是加密网址");
        }
        let fileName = 'csdn.jpg';
        if (fileName.endsWith('.txt')) {
            console.log(fileName + "是文本文件");
        } else if (fileName.endsWith('.jpg')) {
            console.log(fileName + "是图片文件");
        }

2.字符串重复方法

repeat()方法能将源字符串重复N次,并返回一个新的字符串。

注意!如果输入的是小数,向下取整;如果是是NaN,则被当作0;如果是其他值,则会报错

let str = "wcl";
        console.log(str.repeat(3)); //wclwclwcl
        console.log(str.repeat(2.7)); //wclwcl
        console.log(str.repeat(0.8)); //无显示
        console.log(str.repeat(NaN)); //无显示

3.字符串补全方法

padStart()和padEnd()字符串补全长度的方法,如果某个字符串不够指定长度,会在头部或尾部补全。这俩方法都有 俩参数,第一个是补全后的字符串长度;第二个是要补全的字符串,返回的是补全后的字符串。

如果源字符串长度大于第一个参数,则返回源字符串;如果不写第二个参数,则用空格补全到指定长度。

console.log('2'.padStart(2, '0'));       //02
        console.log('2'.padEnd(2, '0'));         //20
        console.log('hello'.padStart(4, 'h'));   //hello
        console.log('hello'.padEnd(9, 'wc'));  //hellowcwc
        console.log('hi'.padStart(5));         //   hi

如果补全字符串与源字符串超出了补全之后的字符串长度,那么补全字符串超出的部分将会被截取。

console.log('hello'.padEnd(9, 'world'));//helloworl

总结

以上就是ES6模板字符串的讲解和新增方法介绍。

相关文章
|
开发工具
frp-免费内网穿透
frp-免费内网穿透
2172 0
|
机器学习/深度学习 运维 Prometheus
构建高效运维体系:从自动化部署到智能监控的全方位实践
在当今数字化时代,企业对运维效率和稳定性的要求越来越高。本文将探讨如何构建一个高效的运维体系,从自动化部署、持续集成与持续交付(CI/CD)、智能监控、故障管理以及数据驱动决策等方面进行深入分析和实践指导。通过这些方法,企业可以实现更快速、更可靠的软件发布和问题解决,提升整体运营效率。
|
传感器 机器学习/深度学习 人工智能
AI视频监控卫士技术介绍:智能化河道管理解决方案
AI视频监控卫士系统,通过高清摄像头、智能传感器和深度学习技术,实现河道、水库、城市水务及生态保护区的全天候、全覆盖智能监控。系统能够自动识别非法行为、水质变化和异常情况,并实时生成警报,提升管理效率和精准度。
1187 13
|
设计模式 安全 Java
多线程设计模式【线程安全、 Future 设计模式、Master-Worker 设计模式 】(一)-全面详解(学习总结---从入门到深化)
多线程设计模式【线程安全、 Future 设计模式、Master-Worker 设计模式 】(一)-全面详解(学习总结---从入门到深化)
229 0
|
Java Spring 容器
Feign源码分析-接口如何发现并生成代理类
Feign源码分析-接口如何发现并生成代理类
338 0
Feign源码分析-接口如何发现并生成代理类
|
存储 缓存 编解码
远程控制软件也要有plan B备选方案
远程控制软件也要有plan B备选方案
516 0
远程控制软件也要有plan B备选方案
|
算法 大数据 开发者
阿里音乐流行趋势预测—亚军答辩(二)|学习笔记
快速学习阿里音乐流行趋势预测—亚军答辩(二)
350 0
|
自然语言处理 开发工具 开发者
阿里云自然语言处理 .NET 使用示例
阿里云自然语言处理(Natural Language Processing)是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,旨在帮助用户高效的处理文本,已经广泛应用在电商、文化娱乐、金融、物流等行业客户的多项业务中,取得了良好的效果。
4020 0
阿里云自然语言处理 .NET 使用示例
《社交网站界面设计(原书第2版)》——2.12 不要到处开玩笑
本节书摘来自华章计算机《社交网站界面设计(原书第2版)》一书中的第2章,第2.12节,作者:(美)克里斯蒂安·克鲁姆里什(Christian Crumlish),艾琳·马洛恩(Erin Malone)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1176 0