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模板字符串的讲解和新增方法介绍。

相关文章
|
6月前
|
JavaScript 前端开发
ES6的模板字符串使用
ES6的模板字符串使用
67 0
|
6月前
|
编解码 JavaScript 前端开发
ES6 字符串的新增方法
ES6 字符串的新增方法
|
3月前
|
JavaScript 前端开发
es6-模版字符串
【8月更文挑战第19天】
33 1
|
1月前
ES6字符串 全局替换
ES6字符串 全局替换
21 0
|
3月前
|
JavaScript 前端开发
ES6 中新增的两种数据类型及类型判断 ( 二 )
ES6 中新增的两种数据类型及类型判断 ( 二 )
|
3月前
|
存储 JavaScript 前端开发
ES6 中新增的两种数据类型及类型判断 ( 一 )
ES6 中新增的两种数据类型及类型判断 ( 一 )
ES6新增操作字符串的七种方法
ES6新增操作字符串的七种方法
ES6系列笔记-字符串方法和字符串模板
ES6系列笔记-字符串方法和字符串模板
40 1
|
6月前
|
JavaScript 前端开发
ES6 什么是模板字符串?
ES6 什么是模板字符串?
|
11月前
|
JavaScript 前端开发
ES6学习(四)—字符串的新增方法
ES6学习(四)—字符串的新增方法