- ES6 教程
- ES6 - 主页
- ES6 - 概述
- ES6 - 环境
- ES6 - 语法
- ES6 - 变量
- ES6 - 运算符
- ES6 - 决策
- ES6 - 循环
- ES6 - 函数
- ES6 - 事件
- ES6 - Cookie
- ES6 - 页面重定向
- ES6 - 对话框
- ES6 - 无效关键字
- ES6 - 页面打印
- ES6 - 对象
- ES6 - 数字
- ES6 - 布尔值
- ES6 - 字符串
- ES6 - 符号
- ES6 - 新的字符串方法
- ES6 - 数组
- ES6 - 日期
- ES6 - 数学
- ES6 - 正则表达式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 类
- ES6 - 地图和集合
- ES6 - 承诺
- ES6 - 模块
- ES6 - 错误处理
- ES6 - 对象扩展
- ES6 - 反射 API
- ES6 - 代理 API
- ES6 - 验证
- ES6 - 动画
- ES6 - 多媒体
- ES6 - 调试
- ES6 - 图像映射
- ES6 - 浏览器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用资源
- ES6 - 快速指南
- ES6 - 有用的资源
- ES6 - 讨论
ES6 - 新的字符串方法
以下是方法列表及其说明。
先生编号 | 方法及说明 |
---|---|
1 |
String.prototype.startsWith(searchString, 位置 = 0)
如果接收者以 searchString 开头,则返回 true;该位置允许您指定要检查的字符串的开始位置。 |
2 |
String.prototype.endsWith(searchString, endPosition = searchString.length)
如果接收者以 searchString 开头,则返回 true;该位置允许您指定要检查的字符串的开始位置。 |
3 |
String.prototype.includes(searchString, 位置 = 0)
如果接收者包含searchString则返回true;位置允许您指定要搜索的字符串的开始位置。 |
4 |
String.prototype.repeat(计数)
返回接收者,连接计数次数。 |
模板文字
模板文字是允许嵌入表达式的字符串文字。模板字符串使用反引号 (``),而不是单引号或双引号。因此,模板字符串可以写为 -
var greeting = `Hello World!`;
字符串插值和模板文字
模板字符串可以使用 ${ } 语法使用占位符进行字符串替换,如所示。
实施例1
var name = "Brendan"; console.log('Hello, ${name}!');
成功执行上述代码后将显示以下输出。
Hello, Brendan!
示例 2:模板文字和表达式
var a = 10; var b = 10; console.log(`The sum of ${a} and ${b} is ${a+b} `);
成功执行上述代码后将显示以下输出。
The sum of 10 and 10 is 20
示例 3:模板文字和函数表达式
function fn() { return "Hello World"; } console.log(`Message: ${fn()} !!`);
成功执行上述代码后将显示以下输出。
Message: Hello World !!
多行字符串和模板文字
模板字符串可以包含多行。
例子
var multiLine = ` This is a string with multiple lines`; console.log(multiLine)
成功执行上述代码后将显示以下输出。
This is a string with multiple line
字符串.raw()
ES6 包含了用于原始字符串的标签函数 String.raw,其中反斜杠没有特殊含义。String.raw使我们能够像在正则表达式文字中一样编写反斜杠。考虑以下示例。
var text =`Hello \n World` console.log(text) var raw_text = String.raw`Hello \n World ` console.log(raw_text)
成功执行上述代码后将显示以下输出。
Hello World Hello \n World
标记模板
标签是一个可以解释和处理模板文字的函数。标签出现在模板文字的前面。语法如下所示。
句法
let output_fromTag = tagFunction `Template literal with ${variable1} , ${variable2}`
标签函数实现语法如下 -
function tagFunction(literals,...variable_values){ //process return "some result" }
例子
以下示例定义了标签函数myTagFn()。它显示传递给它的参数。显示后,它会向调用者返回Done 。
<script> function myTagFn(literals,...values){ console.log("literal values are"); for(let c of literals){ console.log(c) } console.log("variable values are "); for(let c of values){ console.log(c) } return "Done" } let company = `TutorialsPoint` let company_location = `Mumbai` let result = myTagFn `Hello this is ${company} from ${company_location}` console.log(result) </script>
上述代码的输出如下 -
//literal literal values are Hello this is from //values variable values are TutorialsPoint Mumbai Done
例子
下面的标签函数采用模板文字并将其转换为大写,如下所示 -
<script> function convertToUpperTagFn(literals, ...values) { let result = ""; for (let i = 0; i < literals.length; i++) { result += literals[i]; if (i < values.length) { result += values[i]; } } return result.toUpperCase(); } let company = `TutorialsPoint` let company_location = `Mumbai` let result = convertToUpperTagFn `Hello this is ${company} from ${company_location}` console.log(result) </script>
上述代码的输出如下 -
HELLO THIS IS TUTORIALSPOINT FROM MUMBAI
String.fromCodePoint()
静态字符串。fromCodePoint()方法返回使用指定的 unicode 代码点序列创建的字符串。如果传递了无效的代码点,该函数将引发 RangeError。
console.log(String.fromCodePoint(42)) console.log(String.fromCodePoint(65, 90))
成功执行上述代码后将显示以下输出。
* AZ