当前位置: 首页 > news >正文

济宁祥云网站建设深圳龙华是低风险区吗

济宁祥云网站建设,深圳龙华是低风险区吗,网盘做电子书下载网站,苏州企业建站系统模板目录 Array.prototype.includes()指数运算符与 ES6 的对比实际应用场景最佳实践 Array.includes() 基本语法 array.includes(searchElement[, fromIndex])特点 返回布尔值可以检测 NaN支持可选的 fromIndex 参数比 indexOf() 更语义化 使用示例 const numbers [1, 2, 3…

目录

  1. Array.prototype.includes()
  2. 指数运算符
  3. 与 ES6 的对比
  4. 实际应用场景
  5. 最佳实践

Array.includes()

基本语法

array.includes(searchElement[, fromIndex])

特点

  1. 返回布尔值
  2. 可以检测 NaN
  3. 支持可选的 fromIndex 参数
  4. 比 indexOf() 更语义化

使用示例

const numbers = [1, 2, 3, 4, 5, NaN];// 基本使用
console.log(numbers.includes(3));     // true
console.log(numbers.includes(6));     // false// 检测 NaN
console.log(numbers.includes(NaN));   // true
console.log([1, 2, 3].indexOf(NaN));  // -1 (不能检测 NaN)// 使用 fromIndex
console.log(numbers.includes(3, 4));  // false
console.log(numbers.includes(5, -2)); // true// 与字符串比较
const fruits = ['apple', 'banana', 'mango'];
console.log(fruits.includes('apple')); // true

指数运算符

基本语法

base ** exponent

特点

  1. 比 Math.pow() 更简洁
  2. 支持赋值运算符 **=
  3. 优先级高于乘除运算
  4. 右结合性

使用示例

// 基本使用
console.log(2 ** 3);      // 8
console.log(3 ** 2);      // 9// 与 Math.pow() 对比
console.log(2 ** 3 === Math.pow(2, 3));  // true// 赋值运算符
let number = 2;
number **= 3;
console.log(number);  // 8// 优先级
console.log(2 ** 3 * 2);   // 16 (而不是 64)
console.log(2 * 3 ** 2);   // 18 (而不是 36)// 右结合性
console.log(2 ** 3 ** 2);  // 512 (2 ** 9,而不是 64 ** 2)

实际应用场景

1. Array.includes() 应用

条件判断
const permissions = ['read', 'write', 'delete'];function canUserDelete() {return permissions.includes('delete');
}// 多条件判断
const validStatus = ['pending', 'approved', 'rejected'];
function isValidStatus(status) {return validStatus.includes(status);
}
数据过滤
const allUsers = ['admin', 'user', 'guest'];
const blockedUsers = ['guest'];const activeUsers = allUsers.filter(user => !blockedUsers.includes(user)
);

2. 指数运算符应用

数学计算
// 面积计算
function calculateCircleArea(radius) {return Math.PI * (radius ** 2);
}// 复利计算
function calculateCompoundInterest(principal, rate, years) {return principal * ((1 + rate) ** years);
}
科学计算
// 标准差计算
function standardDeviation(values) {const avg = average(values);const squareDiffs = values.map(value => (value - avg) ** 2);return Math.sqrt(average(squareDiffs));
}

最佳实践

1. Array.includes() 最佳实践

// ✅ 推荐
if (array.includes(value)) {// 处理逻辑
}// ❌ 不推荐
if (array.indexOf(value) !== -1) {// 处理逻辑
}// ✅ 推荐:处理空值
const values = [null, undefined, 0, ''];
console.log(values.includes(null));      // true
console.log(values.includes(undefined)); // true// ❌ 不推荐:使用 indexOf 处理特殊值
console.log(values.indexOf(null) !== -1);

2. 指数运算符最佳实践

// ✅ 推荐
const square = x => x ** 2;
const cube = x => x ** 3;// ❌ 不推荐
const square = x => Math.pow(x, 2);
const cube = x => Math.pow(x, 3);// ✅ 推荐:链式操作
const value = 2 ** 2 ** 3;  // 清晰的优先级// ❌ 不推荐:混合使用
const value = Math.pow(2, Math.pow(2, 3));

总结

  1. ES7 主要新特性:

    • Array.prototype.includes()
    • 指数运算符 (**)
  2. 主要改进:

    • 更简洁的语法
    • 更好的语义化
    • 更直观的 API
    • 更高的性能
  3. 使用建议:

    • 优先使用新特性
    • 注意浏览器兼容性
    • 合理使用语法糖
    • 保持代码一致性
http://www.dtcms.com/a/611058.html

相关文章:

  • 如何利用个人nas做网站广州市建设局官方网站
  • Linux内核LED驱动开发:实现可控制闪烁与常亮的GPIO驱动
  • 信息论(四):熵与概率分布的期望
  • 辽宁网站网站建设刚刚中国突然宣布
  • Mysql主从复制 windows下
  • 白云区网站建设公成都建设高端网站
  • UART、IIC、SPI、CAN通信协议简介
  • 鸿蒙系统编译语言 | 深入探讨鸿蒙编译技术及其应用前景
  • 网站建设一对一培训网站建设ssc源码最新
  • C语言编译速度 | 提升编译效率的方法与技巧
  • 【Python爬虫基础-3】数据解析
  • 做网站能用思源黑体吗wordpress文章页面模板
  • 精品源码分享的网站首尔面积
  • 科普:LLM中的网页工具:Fetch与GeneralSearch
  • 第2章 Hello World
  • js语法js语法js语法
  • 如何在三维空间中生成任意方向的矩形内部点位坐标
  • 微信如何做网站西安网站制作托
  • 石家庄网站服务万维网的网站
  • leetcode 387. 字符串中的第一个唯一字符 python
  • 基于深度学习的磁共振图像膝关节损伤多标签识别系统研究
  • 网站制作工作室24小时接单微信小游戏源码
  • 做网站会出现什么问题wordpress如何更改上传文件大小
  • vue3 组合式 API 详解
  • C++从入门到实战----类和对象(上)
  • 多维度表征(下)|用扫描电镜,CT 与仿真“看透“再生碳纤维复合材料
  • 电商网站 收费与免费wordpress阿里云图片不显示不出来
  • 易语言模块反编译为源码 | 深入分析与实战教程
  • 在高速公路或交通工程领域中,OD 是 Origin-Destination 的缩写,中文通常称为“起讫点”或“出行起止点”。
  • 诏安建设局网站常德网站seo