ts-node 与 import 使用疑惑?-灵析社区

爬虫爬呀爬

// **.ts function a() { console.log(this); } a(); 执行命令 `ts-node **.ts ` 正常输出`this` // **.ts import './**' function a() { console.log(this); } a(); 执行命令 `ts-node **.ts ` 输出`undefined` 这是为什么?可以避免吗?

阅读量:31

点赞量:0

问AI
两个点,涉及到 "esm" 和 "strict mode" * 使用了 "import" 则代表这是一个 es module,会自动开启 "strict mode" "https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer..." (https://link.segmentfault.com/?enc=tdxliJIxCzT8BHGhNxQvnA%3D%3D.jAdojjiTUk%2BIYEBElecHVHZN8IDXv4c0f6T7MbHX8MiCvnXMpiHNsbxyP6LA3SD5Lmd%2FjMnfiFrYJd3pXD1uRcT5Fwv3PWjQUfI%2Ba7B9GwUC1NcF3Yy9CtorejQp92XG) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241128/a87c41e8e5b2f6c6c36e2ca17e1cdf04.png) * 其次,在 "strict mode" 下,没有指定 this 的函数中,this 值为 "undefined" "https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refer..." (https://link.segmentfault.com/?enc=6JheOewHNptcosgA5kYdXA%3D%3D.DBDwTL1gJ8kc7B6TaayBuXD2k59EW47XWXXgixzBce8%2Fyp1mKXPJBCcqiFHp1ephI%2Bhm0oETSDQ%2FIgyrTx45m1syyuSYircld47%2F4YIfGP0%3D) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241128/d3f14265f2c2ef383b96cec922a07f55.png)