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。

相关推荐
用户516816614584110 小时前
Vue Router 路由懒加载引发的生产页面白屏问题
vue.js·vue-router
前端缘梦10 小时前
Vue Keep-Alive 组件详解:优化性能与保留组件状态的终极指南
前端·vue.js·面试
Simon_He10 小时前
这次来点狠的:用 Vue 3 把 AI 的“碎片 Markdown”渲染得又快又稳(Monaco 实时更新 + Mermaid 渐进绘图)
前端·vue.js·markdown
王同学QaQ15 小时前
Vue3对接UE,通过MQTT完成通讯
javascript·vue.js
华仔啊15 小时前
基于 RuoYi-Vue 轻松实现单用户登录功能,亲测有效
java·vue.js·后端
艾小码16 小时前
告别Vue混入的坑!Composition API让我效率翻倍的3个秘密
前端·javascript·vue.js
Gracemark1 天前
高德地图-地图选择经纬度问题【使用输入提示-使用Autocomplete进行联想输入】(复盘)
vue.js
天下无贼1 天前
【手写组件】 Vue3 + Uniapp 手写一个高颜值日历组件(含跨月补全+今日高亮+选中状态)
前端·vue.js
洋葱头_1 天前
vue3项目不支持低版本的android,如何做兼容
前端·vue.js
奔跑的蜗牛ing1 天前
Vue3 + Element Plus 输入框省略号插件:零侵入式全局解决方案
vue.js·typescript·前端工程化