ES6 全栈知识点

发布于 2025-01-26 12:50:22 字数 2246 浏览 8 评论 0

let 和 const

  • let 用于变量声明,相对于 var 不会提升成全局变量
if(true){
    let a = 1; //这个 a 在外部无法访问
}
  • const 用于值不会改变的量(常量)的声明
// 变量
let num = 1;

// 常量
const PI = 3.14;
PI = 3.15; //报错

// 对象里面的东西可以改变
const obj = { name: 'jack' }
obj.name = 'rose'
obj = { name: 'rose' }	//报错

箭头函数

  • 相对于 function,ES6 更简洁
  • (左边)一个参数小括号可省
// ES5
var fn = function (num) {
    return num
}

// ES6,(左边)一个参数小括号可省
let fn = (num) => {
    return num
}
  • (右边)一行代码大括号可省
// ES5
var fn = function (n1, n2) {
    return n1 + n2
}

// ES6
let fn = (n1, n2) => {
    return n1 + n2
}
// (右边)一行代码大括号可省
let fn = (n1, n2) => n1 + n2
  • 箭头函数 this 会向上级函数绑定
  • 同时 arguments 也向上绑定
var button = document.querySelector('button');

// ES5
var obj = {
    name: 'jack',
    init: function(){
        //这里的 this 是 init 的 this,也是 obj
        var that = this;
        button.onclick = function() {
            console.log(this); //这里的 this 是 button
            console.log(that.name); //jack
        }
    }
}
obj.init();

// ES6
var obj = {
    name: 'jack',
    init: function() {
        button.onclick = () => {
            //箭头函数自身没有 this,向上层 function 绑定 this
            console.log(this); //这里的 this 是 obj
            console.log(this.name); //jack
        }
    }
}
obj.init();
  • 箭头函数本身没有 this,会向上级 function 绑定 this,因此,其不可以作为构造函数的使用

promise

promise 有三种状态,该状态一经改变,无法回退和暂停:

  • resolve 调用=>resoleved/fullfilled,成功
  • reject 调用=>rejected,失败
  • 没有调用这两种任意一个=>pending(初始状态),待发

promise 是一个存储异步操作的容器,异步执行后,标记不同的成功/失败/发生中状态,后续根据状态控制异步执行顺序

// ES5,回调地狱
$.ajax('/a', function(){
    //请求 a 后请求 b
    $.ajax('./b', function(){
        //请求 b 后的操作
	})
})

//ES6
new Promise(function(resolve, reject){
    //成功调用 resolve(data)
    //失败调用 reject(err)
}).then(function(data){
    //成功对应的代码
}, function(err){
	//失败对应的代码
})

解构赋值

let obj = {a: 1, b: 2, c: 3}
let a = obj.a;
let b = obj.b;

//等同于
let obj = {a: 1, b: 2, c: 3}
let {a, b} = obj; //a:1, b:2 关键是 key

let arr = [1, 2, 3, 4];
let [a,,,d] = arr; //a:1, d:4 关键是顺序

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

琉璃梦幻

暂无简介

文章
评论
26 人气
更多

推荐作者

十二

文章 0 评论 0

飞烟轻若梦

文章 0 评论 0

OPleyuhuo

文章 0 评论 0

wxb0109

文章 0 评论 0

旧城空念

文章 0 评论 0

-小熊_

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文