zoukankan      html  css  js  c++  java
  • [TypeScript] 1. Catching JavaScript Mistakes with TypeScript

    The TypeScript compiler is a powerful tool which catches mistakes even in vanilla JavaScript. Try it online at the TypeScript Playground, zero setup required.

    Error version:

    var movie = { title: "Memento", year: 2000, IMDB: 8.5, title: "" };
    var rating = movie.imdb;
    
    
    
    function Point(x, x) {
      this.x = x;
      this.y = y;
    }
    Point.prototype.distance = function() {
      return Math.sqrt(x * x + y * y);
    };
    
    
    
    function isPast(date) {
      var now = Date().getTime();
      return date.getTime() < now;
    }
    
    
    
    function ask(question) {
      var answer = confirm(question);
      var answerView = document.getElementByID('answer');
      answerView.innerHTML = answer;
    }
    
    
    
    function handleLoad() { console.log('loaded'); }
    document.onLoad = handleLoad();
    
    
    
    function newCoinToss() { 
      return Math.random > 0.5 ? 'HEADS' : 'TAILS'; 
    }
    var tosses = [1,2,3].map(newCoinToss);
    
    var allHeads = tosses.every(function(toss) { 
      return toss = 'HEADS'; 
    });
    if (allHeads) console.log(allHeads.length, 'heads in a row!');
    
    
    
    document.addEventListener('keydown', function(event) {
      console.log(event.clientX, event.clientY);
    });

    Using WebStorm, in the Terminal, it displays the error message for you.

    Fixed version in TypeScript:

    var movie = { title: "Memento", year: 2000, IMDB: 8.5 };
    var rating = movie.IMDB;
    
    
    
    function Point(x,y) {
      this.x = x;
      this.y = y;
    }
    Point.prototype.distance = function() {
      return Math.sqrt(this.x * this.x + this.y * this.y);
    };
    
    
    
    function isPast(date) {
      var now = new Date().getTime();
      return date.getTime() < now;
    }
    
    
    
    function ask(question) {
      var answer = prompt(question);
      var answerView = document.getElementById('answer');
      answerView.innerHTML = answer;
    }
    
    
    
    function handleLoad() { console.log('loaded'); }
    document.onload = handleLoad;
    
    
    
    function newCoinToss() { 
      return Math.random() > 0.5 ? 'HEADS' : 'TAILS'; 
    }
    var tosses = [1,2,3].map(newCoinToss);
    
    var allHeads = tosses.every(function(toss) { 
      return toss == 'HEADS'; 
    });
    if (allHeads) console.log(tosses.length, 'heads in a row!');
    
    
    
    document.addEventListener('mousedown', function(event) {
      console.log(event.clientX, event.clientY);
    });
  • 相关阅读:
    Erlang学习笔记2
    erlang的Socket参数含义
    Erlang 日期和时间处理、时间戳转换
    图(有向)-拓扑排序
    图(无向连通无权图)-广度优先搜索
    图(无向连通无权图)-深度优先搜索
    图(无向连通无权值图)深度优先生成最小生成树
    客户关系管理系统
    字符串类
    I/O流
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4350890.html
Copyright © 2011-2022 走看看