es6 基础学习之字符串和函数的扩展

ES6 中的字符串扩展

ES6 提供了多种新的字符串操作方法和特性。

1. 模板字符串(Template Strings)

使用反引号(`````)而非单引号或双引号来创建字符串,并允许插入变量:

javascript 复制代码
const name = 'John';
const greeting = `Hello, ${name}!`;
console.log(greeting); // 输出 "Hello, John!"

2. 新增的字符串方法

  • startsWith: 判断字符串是否以给定字符串开头
  • endsWith: 判断字符串是否以给定字符串结尾
  • includes: 判断字符串是否包含给定字符串
  • repeat: 重复字符串指定次数
javascript 复制代码
const str = 'hello';

console.log(str.startsWith('he'));  // true
console.log(str.endsWith('lo'));    // true
console.log(str.includes('ell'));   // true
console.log(str.repeat(2));         // 'hellohello'

ES6 中的函数扩展

1. 默认参数

在 ES6 中,函数参数可以有默认值。

javascript 复制代码
function greet(name = 'John', age = 30) {
  console.log(`Hello ${name}, you are ${age} years old.`);
}

greet();                // 输出 "Hello John, you are 30 years old."
greet('Jane', 25);      // 输出 "Hello Jane, you are 25 years old."

2. Rest 参数

使用 ... 操作符接收多余的参数,这些参数被存储在一个数组中。

javascript 复制代码
function sum(...numbers) {
  return numbers.reduce((prev, curr) => prev + curr, 0);
}

console.log(sum(1, 2, 3, 4));  // 输出 10

3. 箭头函数(Arrow Functions)

箭头函数提供了一种更简洁的方式来写函数。

javascript 复制代码
const square = x => x * x;

console.log(square(5));  // 输出 25

注意:箭头函数不绑定自己的 thisargumentssupernew.target。这些函数表达式更适用于那些不需要自己的 this 值的函数。

4. 函数名属性

函数名属性 name 可以返回函数名。

javascript 复制代码
function foo() {}
const bar = function() {};

console.log(foo.name);  // 输出 "foo"
console.log(bar.name);  // 输出 "bar" 在 ES6 中,匿名函数也能有 name 属性

以上只是 ES6 在字符串和函数方面的一些基础扩展。这些新特性使得 JavaScript 编程更加灵活和强大。希望这能帮助你更好地理解和使用 ES6。

相关推荐
喵个咪13 分钟前
Headless 后端实践:基于Go的企业级多栈管理系统脚手架
前端·vue.js·react.js
柚子科技4 小时前
Vue3 响应式原理:我被 ref 和 reactive 坑了3次后终于搞懂了
前端·javascript·vue.js
大鱼前端4 小时前
Veaury:让Vue和React组件在同一应用中共存的神器
前端·vue.js·react.js
五月君_4 小时前
继 React、Vue 之后,Three.js 也有 Skills 了!AI 写 3D 终于不“晕”了
javascript·vue.js·人工智能·react.js·3d
蜡台6 小时前
Vue2 使用 typescript 教程
前端·vue.js·typescript
i220818 Faiz Ul7 小时前
在线预约导游|基于SSM+vue的在线预约导游系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·在线预约导游系统
MaCa .BaKa7 小时前
56-非遗手工艺品定制平台系统
java·vue.js·spring boot·mysql·maven·非遗手工制作平台系统·非遗制作
无聊的老谢8 小时前
Vue 3 + Leaflet 实现高性能 Web GIS 基站监控平台
前端·javascript·vue.js
前端 贾公子8 小时前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理(上)
前端·javascript·vue.js