JavaScript ES7 特性

✏️ Editable
Loading...
Live Preview
+Enter Run+R Reset

About This Exercise

这一关会带你认识 ES7 里最常用、最容易马上用起来的两个能力:

  • includes:判断“有没有”
  • **:计算“几次方”

很多新手会把判断和计算写得很绕,这关的目标就是把它写清楚、写短、写对。

你不需要先懂复杂理论,只要按步骤完成,就能把 ES7 的核心语法真正用起来。

Beginner⏱ 15-20 min

Learning Objectives

  • 理解 includes 的用途:快速判断数组/字符串中是否包含目标
  • 掌握 ** 运算符:比 Math.pow 更直观
  • 能把“存在性判断 + 简单计算”组合到一个小功能中

Scenario

你在做课程页面的小工具: 1) 判断某个标签是否已存在; 2) 判断标题里是否出现关键词; 3) 输出学习指数的平方和立方。 这就是前端开发里最常见的“判断 + 计算”组合任务。

Why Do This

  • Frontend JS is not just about knowing the syntax — the key is reliably manipulating the DOM and managing interaction state.
  • Break down the event flow (trigger -> handle -> update UI) before coding, and you will make significantly fewer errors.
  • Rule-based validation helps you develop a testable frontend mindset.

Hands-on Practice

  • Write out the event flow in comments first, then implement the functions.
  • Add an edge case branch for invalid input or empty data.
  • Explain why each validation rule is needed.

Common Mistakes

  • Only testing the happy path without verifying edge inputs or repeated clicks.
  • Mixing event binding and state updates together, making future maintenance difficult.
  • Console output looks correct but the UI is not actually updated.

Deliverable

A reusable interaction component scaffold (event flow description + key functions + edge case handling).

My Progress

Completed Steps0 / 3
Total Attempts0
Best Score0%

Completion Criteria (Checkable)

Confirm before completing this Lab

Reflection Questions (Recommended)

Describe the event flow of this Lab in 2-3 sentences (trigger -> handle -> update).

What edge case did you add? Why is it easy to miss?

How confident are you with this interaction pattern now?

Tags

JavaScriptES7includesExponentiation
Progress 0/39
0%
Learning Path Guide
Complete exercises from top to bottom. Start from #01 and finish the current stage before moving on.
Current stage goal: Build reusable data processing skills with objects and arrays
Stage 1 - Syntax Foundation0/10
From variables and functions to ES6 template syntax, build a solid foundation
01
JavaScript 变量与数据类型
Beginner
02
JavaScript let/const 作用域
Beginner
03
JavaScript 运算符
Beginner
04
JavaScript 条件语句
Beginner
05
JavaScript 循环
Beginner
06
JavaScript 函数
Beginner
07
JavaScript 箭头函数
Beginner
08
JavaScript 默认参数
Beginner
09
JavaScript 模板字符串
Beginner
10
JavaScript 解构赋值
Beginner
Stage 2 - Modern Syntax0/10
Master common ES6+ patterns to improve code expressiveness
11
JavaScript 展开与剩余参数
Intermediate
12
JavaScript 对象字面量增强
Beginner
13
JavaScript Class 基础
Intermediate
14
JavaScript 迭代器与生成器
Intermediate
15
JavaScript 防抖与节流
Intermediate
16
JavaScript 模块模式
Intermediate
17
JavaScript 发布订阅模式
Intermediate
18
JavaScript 状态机模式
Intermediate
19
JavaScript 记忆化缓存
Intermediate
20
JavaScript 不可变数据更新
Beginner
Stage 3 - Data Processing0/12
Build reusable data processing skills with objects and arrays
21
JavaScript ES7 特性
Beginner
22
JavaScript includes 方法
Beginner
23
JavaScript 指数运算符
Beginner
24
JavaScript ES8 对象工具
Intermediate
25
JavaScript 字符串补位
Beginner
26
JavaScript Async/Await 模式
Intermediate
27
JavaScript 字符串方法
Beginner
28
JavaScript 数组
Beginner
29
JavaScript 对象
Beginner
30
JavaScript 数组高阶方法
Beginner
31
JavaScript Set 与 Map
Beginner
32
JavaScript 实用算法函数
Intermediate
Stage 4 - DOM Interaction0/2
Apply syntax to real page interaction scenarios
33
JavaScript DOM 操作基础
Beginner
34
JavaScript 事件处理
Beginner
Stage 5 - Async & Robustness0/5
Complete the Promise/async and error handling loop
35
JavaScript 异步编程
Beginner
36
JavaScript Promise 并发
Intermediate
37
JavaScript 异步循环模式
Intermediate
38
JavaScript 可选链与空值合并
Beginner
39
JavaScript 错误处理
Beginner