Javascript 如何捕捉;这";打字

Javascript 如何捕捉;这";打字,javascript,typescript,Javascript,Typescript,我甚至尝试包装到一个模块中,但仍然未能捕获所有尝试中的“this”。下面的Typescript生成的Javascript无法解析这个,并且无法返回所需的结果。如何在TypeScript中修复此问题 var secretNumberGame = () => { var secretNumber: number = 21; var counter: number = 9; return { responses: { equal:

我甚至尝试包装到一个模块中,但仍然未能捕获所有尝试中的“this”。下面的Typescript生成的Javascript无法解析这个,并且无法返回所需的结果。如何在TypeScript中修复此问题

var secretNumberGame = () => {
    var secretNumber: number = 21;
    var counter: number = 9;
    return {
        responses: {
            equal: "You are correct! Answer is " + secretNumber,
            lower: "Too high!",
            higher: "Too low!"
        },
        guess: (guess: number) => {
            counter++;
            var key = (guess == secretNumber) ? "equal" : (
                (guess < secretNumber ? "higher" : "lower"));
            console.log(this.responses[key]);
            return counter;
        }
    }
}
var game = secretNumberGame();
console.log(game.guess(45));
console.log(game.guess(18))
console.log(game.guess(21));
var secretNumberGame=()=>{
变量secretNumber:number=21;
变量计数器:数字=9;
返回{
答复:{
相等:“你是对的!答案是”+秘密号码,
低:“太高了!”,
更高:“太低了!”
},
猜测:(猜测:数字)=>{
计数器++;
var key=(guess==secretNumber)?“相等”:(
(猜测
请只使用
函数,而不要使用
()=>

var secretNumberGame = () => {
    var secretNumber: number = 21;
    var counter: number = 9;
    return {
        responses: {
            equal: "You are correct! Answer is " + secretNumber,
            lower: "Too high!",
            higher: "Too low!"
        },
        guess: function (guess: number) {
            counter++;
            var key = (guess == secretNumber) ? "equal" : (
                (guess < secretNumber ? "higher" : "lower"));
            console.log(this.responses[key]);
            return counter;
        }
    }
}
var game = secretNumberGame();
console.log(game.guess(45));
console.log(game.guess(18))
console.log(game.guess(21));
var secretNumberGame=()=>{
变量secretNumber:number=21;
变量计数器:数字=9;
返回{
答复:{
相等:“你是对的!答案是”+秘密号码,
低:“太高了!”,
更高:“太低了!”
},
猜测:函数(猜测:数字){
计数器++;
var key=(guess==secretNumber)?“相等”:(
(猜测

下面是fat箭头上的一些文档:

在ES6中,箭头函数绑定“this”值。我不知道typescript,但也许是同一个问题?“typescript不能解决这个问题”。您的意思是它是未定义的,还是全局对象?在This.responses中,它不能解析为返回对象的responses属性以及除basarat提供的源之外的其他良好源-