第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何以與在 Javascript 中相同的方式在 Typescript 中訪問“this”?

如何以與在 Javascript 中相同的方式在 Typescript 中訪問“this”?

絕地?zé)o雙 2023-03-10 15:58:32
在 js 中,我使用以下代碼function m() {  console.log(this)}m()這返回當(dāng)前上下文但是在 ts 中,我使用下面的代碼,這個返回 undefinefunction m() {    // @ts-ignore    console.log(this)}m()我希望在打字稿中使用這個獲取當(dāng)前上下文,怎么辦?
查看完整描述

4 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊

你可以像這樣嘗試,


const that = this;


function m() {

  console.log(that);

}


m();


查看完整回答
反對 回復(fù) 2023-03-10
?
www說

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊

問題是,當(dāng)您使用 TS 時,您是在嚴(yán)格模式下運行的,而在嚴(yán)格模式下,this一個函數(shù)是未定義的。

因此,對于嚴(yán)格模式函數(shù),指定的 this 不會裝箱到對象中,如果未指定,則 this 將是未定義的:

來源


查看完整回答
反對 回復(fù) 2023-03-10
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗 獲得超2個贊

就像其他答案告訴你的那樣,這是因為use strict打字稿。為了能夠擁有this上下文,您可以(但不應(yīng)該)使用new關(guān)鍵字。


操場


function m() {

  // @ts-ignore

  console.log(this);

}


// @ts-ignore

new m();


查看完整回答
反對 回復(fù) 2023-03-10
?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗 獲得超4個贊

這是因為默認(rèn)情況下在您的打字稿中使用“use strict”。


如果你在 js 中嘗試這個返回相同的 undefined


'use strict';


function m() {

  console.log(this)

}


m()


查看完整回答
反對 回復(fù) 2023-03-10
  • 4 回答
  • 0 關(guān)注
  • 197 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號