- ES6 教程
- ES6 - 首页
- ES6 - 概览
- ES6 - 环境
- ES6 - 语法
- ES6 - 变量
- ES6 - 运算符
- ES6 - 决策
- ES6 - 循环
- ES6 - 函数
- ES6 - 事件
- ES6 - Cookie
- ES6 - 页面重定向
- ES6 - 对话框
- ES6 - Void 关键字
- ES6 - 页面打印
- ES6 - 对象
- ES6 - 数字
- ES6 - 布尔值
- ES6 - 字符串
- ES6 - Symbol
- ES6 - 新字符串方法
- ES6 - 数组
- ES6 - 日期
- ES6 - 数学
- ES6 - 正则表达式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 类
- ES6 - Map 和 Set
- ES6 - Promise
- ES6 - 模块
- ES6 - 错误处理
- ES6 - 对象扩展
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 验证
- ES6 - 动画
- ES6 - 多媒体
- ES6 - 调试
- ES6 - 图像地图
- ES6 - 浏览器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用资源
- ES6 - 快速指南
- ES6 - 有用资源
- ES6 - 讨论
ES6 - 新字符串方法
以下是方法列表及其描述。
序号 | 方法及描述 |
---|---|
1 |
String.prototype.startsWith(searchString, position = 0)
如果接收者以 searchString 开头则返回 true;position 允许您指定要检查的字符串的起始位置。 |
2 |
String.prototype.endsWith(searchString, endPosition = searchString.length)
如果接收者以 searchString 开头则返回 true;position 允许您指定要检查的字符串的起始位置。 |
3 |
String.prototype.includes(searchString, position = 0)
如果接收者包含 searchString 则返回 true;position 允许您指定要搜索的字符串的起始位置。 |
4 |
String.prototype.repeat(count)
返回接收者,连接 count 次。 |
模板字面量
模板字面量是允许嵌入表达式的字符串字面量。模板字符串使用反引号 (``) 而不是单引号或双引号。因此,模板字符串可以写成 -
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
String.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()
静态 String.fromCodePoint() 方法返回一个使用指定的 unicode 代码点序列创建的字符串。如果传递了无效的代码点,则该函数会抛出 RangeError。
console.log(String.fromCodePoint(42)) console.log(String.fromCodePoint(65, 90))
在成功执行上述代码后,将显示以下输出。
* AZ