• JavaScript 62 JavaScript 版本 62.3 JavaScript ES6


    JavaScript

    62 JavaScript 版本

    62.3 JavaScript ES6
    62.3.1 ECMAScript 6 是什么?

    ECMAScript 6 也称为 ES6 和 ECMAScript 2015。

    一些人把它称作 JavaScript 6。

    ES6 中的一些新特性。

    • JavaScript let
    • JavaScript const
    • 幂 (**)
    • 默认参数值
    • Array.find()
    • Array.findIndex()
    62.3.2 对 ES6(ECMAScript 2015)的浏览器支持

    Safari 10 和 Edge 14 是首先完全支持 ES6 的浏览器:

    在这里插入图片描述

    62.3.3 JavaScript let

    let 语句允许使用块作用域声明变量。

    var x = 10;
    // Here x is 10
    { 
      let x = 2;
      // Here x is 2
    }
    // Here x is 10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    62.3.4 JavaScript const

    const 语句允许声明常量(具有常量值的 JavaScript 变量)。

    常量类似于 let 变量,但不能更改值。

    var x = 10;
    // Here x is 10
    { 
      const x = 2;
      // Here x is 2
    }
    // Here x is 10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    62.3.5 指数运算符

    取幂运算符(**)将第一个操作数提升到第二个操作数的幂。

    var x = 5;
    var z = x ** 2;          // 结果是 25
    
    • 1
    • 2

    x ** y 的结果与 Math.pow(x,y) 相同:

    var x = 5;
    var z = Math.pow(x,2);   // 结果是 25
    
    • 1
    • 2
    62.3.6 默认参数值

    ES6 允许函数参数具有默认值。

    function myFunction(x, y = 10) {
      // y is 10 if not passed or undefined
      return x + y;
    }
    myFunction(5); // 将返回 15
    
    • 1
    • 2
    • 3
    • 4
    • 5
    62.3.7 Array.find()

    find() 方法返回通过测试函数的第一个数组元素的值。

    查找(返回)第一个大于 18 的元素(的值):

    var numbers = [4, 9, 16, 25, 29];
    var first = numbers.find(myFunction);
    
    function myFunction(value, index, array) {
      return value > 18;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    此函数接受 3 个参数:

    • 项目值
    • 项目索引
    • 数组本身
    62.3.8 Array.findIndex()

    findIndex() 方法返回通过测试函数的第一个数组元素的索引。

    确定大于 18 的第一个元素的索引:

    var numbers = [4, 9, 16, 25, 29];
    var first = numbers.findIndex(myFunction);
    
    function myFunction(value, index, array) {
      return value > 18;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    此函数接受 3 个参数:

    • 项目值
    • 项目索引
    • 数组本身
    62.3.9 新的数字属性

    ES6 将以下属性添加到 Number 对象:

    • EPSILON
    • MIN_SAFE_INTEGER
    • MAX_SAFE_INTEGER
    var x = Number.EPSILON;
    
    var x = Number.MIN_SAFE_INTEGER;
    
    var x = Number.MAX_SAFE_INTEGER;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    62.3.10 新的数字方法

    ES6 为 Number 对象添加了 2 个新方法:

    • Number.isInteger()
    • Number.isSafeInteger()

    【Number.isInteger() 方法】

    如果参数是整数,则 Number.isInteger() 方法返回 true

    Number.isInteger(10);        // 返回 true
    Number.isInteger(10.5);      // 返回 false
    
    • 1
    • 2

    【Number.isSafeInteger() 方法】

    安全整数是可以精确表示为双精度数的整数。

    如果参数是安全整数,则 Number.isSafeInteger() 方法返回 true

    Number.isSafeInteger(10);    // 返回 true
    Number.isSafeInteger(12345678901234567890);  // 返回 false
    
    • 1
    • 2

    安全整数指的是从 -(253 - 1) 到 +(253 - 1) 的所有整数。

    这是安全的:9007199254740991。这是不安全的:9007199254740992。

    62.3.11 新的全局方法

    ES6 还增加了 2 个新的全局数字方法:

    • isFinite()
    • isNaN()

    【isFinite() 方法】

    如果参数为 InfinityNaN,则全局 isFinite() 方法返回 false。否则返回 true:

    isFinite(10/0);       // 返回 false
    isFinite(10/1);       // 返回 true
    
    • 1
    • 2

    【isNaN() 方法】

    如果参数是 NaN,则全局 isNaN() 方法返回 true。否则返回 false

    isNaN("Hello");       // 返回 true
    
    • 1
    62.3.12 箭头函数(Arrow Function)

    箭头函数允许使用简短的语法来编写函数表达式。

    不需要 function 关键字、return 关键字以及花括号

    // ES5
    var x = function(x, y) {
       return x * y;
    }
    
    // ES6
    const x = (x, y) => x * y;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    箭头功能没有自己的 this。它们不适合定义对象方法

    箭头功能未被提升。它们必须在使用进行定义。

    使用 const 比使用 var 更安全,因为函数表达式始终是常量值。

    如果函数是单个语句,则只能省略 return 关键字和花括号。因此,保留它们可能是一个好习惯:

    const x = (x, y) => { return x * y };
    
    • 1
  • 相关阅读:
    二叉树—相关计算题
    Node-RED系列教程-26node-red操作mqtt代理节点
    【Leetcode每日一题】 位运算 - 两整数之和(难度⭐)(37)
    PPTP、L2TP、IPSec、IPS 有什么区别?
    HFI-脉振法
    Spring/SpringBoot自定义线程池
    LeetCode 1161.最大层内元素和:层序遍历
    Python 一网打尽<排序算法>之先从玩转冒泡排序开始
    Go Exec 僵尸与孤儿进程
    Rocketmq的集群搭建
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127645237