ES6之字符串扩展方法(常用)
es6这个String对象倒是扩展了不少方法,但是很多都是跟字符编码相关,个人选了几个感觉比较常用的方法;
includes 搜索字符的神器
还记得我们之前如何判断某个字符串对象是否包含特地字符的吗?
var str='google';
if(str.indexOf('o')>-1){
console.log('yes');
}else{
console.log('no');
}
indexOf本来只是一个获取字符对应位置的方法,因为找到不到会返回-1这个值,就成了判断是否包含的方法,includes则就是判断是否包含的直接返回布尔值;
let str='google';
if(str.includes('o')){
console.log('yes');
}else{
console.log('no');
}
这样更符合语义化,indexOf就是负责获取位置,includes负责判断包含关系;
startsWith ,endsWith 轻松定首尾
startsWith用于判断是否位于头部,endsWith判断是否位于尾部,可以说这两个方法是includes方法的扩展;
let str='google'; console.log(str.startsWith('g')); //true console.log(str.endsWith('e')); //true
repeat 懒人福利
顾名思义,这个方法就是可以获取字符串重复N次后的方法;
let str='google';
console.log(str.repeat(3)); //googlegooglegoogle
repeat方法接受一个数字类型的参数,可以是正式也可以是小数,如果是浮点型会自动调用Math.floor方法转为整型;
let str='google';
console.log(str.repeat(3.5)); //googlegooglegoogle
console.log(str.repeat(Math.floor(3.5)));//googlegooglegoogle
参数可以为0这样就会返回一个空字符串,但是不能为负数,否则会报错;
let str='google';
console.log(str.repeat(0)); //''
console.log(str.repeat(-3.5));//RangeError: Invalid count value
padStart,padEnd 缺啥补啥
这两个方法其实是ES7标准下扩展的方法,作用就是自动补全;
let str='goo';
str.padStart(5, 'le') // 'legoo'
str.padStart(4, 'le') // 'lgoo' str.padEnd(5, 'le') // 'goole'
str.padEnd(4, 'le') // 'gool'
这两个方法类似都是接受两个参数,第一个是补全的长度,第二个是要补充的内容,由于是es7标准的方法,现在浏览器还不能直接运行,可以尝试借助babel运行;
Babel 是一个 JavaScript 编译器
ES6之字符串扩展方法(常用)的更多相关文章
- ES6中字符串扩展
ES6中字符串扩展 ① for...of 遍历字符串: 例如: for(let codePoint of 'string'){ console.log(codePoint) } 运行结果: ② in ...
- C# 一些常用的字符串扩展方法
以下可能是常用的.net扩展方法,记录下 EString.cs文件 /// <summary> /// 扩展字符串类 /// </summary> public static ...
- C#语法糖: 扩展方法(常用)
今天继续分享C#4.0语法糖的扩展方法,这个方法也是我本人比较喜欢的方法.大家先想想比如我们以前写的原始类型不能满足现在的需求,而需要在该类型中添加新的方法来实现时大家会怎么做.我先说一下我没有学习到 ...
- ES6 学习 -- 字符串新增方法
1.检测字符串中是否包含某个字符 ES5方法:string.indexOf("需要检测的字符"),如果返回值为-1,则说明当前字符串中不存在这个字符,返回值不为-1,则 是当前字符 ...
- ES6之字符串扩展
ES6字符串新增的常用方法: 1. includes(): 字符串中是否包含某个字符或字符串, 包含的两个字符必须是相连的 let str = 'hello, world' str.includes( ...
- ES6之数组扩展方法【一】(相当好用)
form 转化为真正的数组 先说一下使用场景,在Js中,我们要经常操作DOM,比如获取全部页面的input标签,并且找到类型为button的元素,然后给这个按钮注册一个点击事件,我们可能会这样操作: ...
- ES6 ( 三 ) 字符串扩展
一.字符Unicode表示方法 ES6中可以使用以下6种方法表示字符 '\z' === 'z' // true '\172' === 'z' // true '\x7A' === 'z' // tru ...
- es6 模本字符串拼接方法 ``
1.字符串拼接 可以使用 es6 ` ` 配合 ${xxx} 具体操作上代码 <!DOCTYPE html> <html lang="en"> < ...
- ES6 之 字符串扩展
字符串所有的方法,不会修改字符串本身(字符串是不可变的),操作完成会 返回一个新的字符串. 将一个值转化为字符串,.toString()方法,但是null和undefined值没有这个方法, 1.字符 ...
随机推荐
- 【swift】BlockOperation和GCD实用代码块
//BlockOperation // // ViewController.swift import UIKit class ViewController: UIViewController { @I ...
- js实现四大经典排序算法
为了方便测试,这里写了一个创建长度为n的随机数组 function createArr(n) { var arr = []; while (n--) { arr.push(~~(Math.random ...
- Concurrency
<Concurrency>:http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html <Java ...
- angularJS(5)
angularJS(5) 一,数据循环:特别要注意作用域 使用ng-repeat指令. <div ng-app="myApp" ng-controller="myC ...
- web前端开发分享-目录
1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...
- MySQL语句学习记录
注意,命令行下,每条语句最后都需要加分号. 1.显示所有数据库 SHOW DATABASES 2.使用某数据库 如mysql数据库 use mysql (sql语句不区分大小写) 3.显示所有表 ...
- AngularJS_01之基础概述、设计原则及MVC设计模式
1.AngularJS: 开源的JS框架,用来开发单一页面应用,以及数据操作频繁的场景:2.设计原则: ①YAGNI原则:You Aren't Gonna Need It! 不要写不需要的代码! ②K ...
- 阿里云accessKey如何创建?~ 2015.08.25
选择导航条上面的ACCESSKeys(工单服务左边,我一开始也没注意到) 创建一下,然后同意 验证一下 收工
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- CentOS7安装iptables防火墙
CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...