es6 class类内部的方法自动开启了严格模式

-

今天看到react类组件内部的方法中this为undefined,原因是class类内部的方法,自动开启了局部严格模式,不是babel的问题

特此实验一下:

复制代码
// 类内部的方法,自动开启了局部严格模式
class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  speak() {
    console.log(this);
    console.log(`我的名字叫${this.name},年龄:${this.age}`);
  }
}
const p1 = new Person('小王', 18);
p1.speak(); // 正常读取到this
const x = p1.speak;
x() // 报错,this为undefined

function demo() {
  // 'use strict' // 局部开启严格模式后 this变成undefined,去掉严格模式后,this变成window
  console.log(this);
}
复制代码

 

 

 

 

 

-

posted @   古墩古墩  Views(92)  Comments(0Edit  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2021-08-21 mongoDB增删改查(命令行操作数据库)
2021-08-21 用原生nodejs封装类似于express的路由以及静态资源服务器
点击右上角即可分享
微信分享提示