TypeScript 学习笔记 02: The Basics
console.clear();
console.log(new Date());

const message: string = "Hello World!";

message.toLowerCase();
// 有了 TypeScript,可以在编译前就能检查出来 message 不能作为函数调用/call
message();

const user = {
    name: 'Daniel',
    age: 26,
};

// JS 中访问对象不存在的属性只会返回 undefined 而不会抛出 Error
// 有了 TypeScript 就能解决这个问题了
user.location;

const announcement = 'Hello World!';

// TypeScript 能检查出来 typo 导致的错误
announcement.toLocaleLowercase();
announcement.toLocalLowerCase();
announcement.toLocaleLowerCase();

function flipCoin() {
    // TypeScript 能检查出来操作符两边不合法的类型
    return Math.random < 0.5;
}

const value = Math.random() < 0.5 ? 'a' : 'b';
if (value !== 'a') {}
else if (value === 'b') {
    // TypeScript 还能检查逻辑错误
}

import express from 'express';
const app = express();

app.get('/', function(req, res) {
    // TypeScript 还有很好用的代码智能提示功能
    res.sen
})

// 显式类型,也就是主动声明变量的类型
function greet(person: string, date: Date) {
  console.log(`Hello ${person}, today is ${date.toDateString()}!`);
}
// new Date() 返回的是 Date 类型的对象
// Date() 则返回的是字符串
greet("Brendan", new Date());

// TypeScript 有个选项 noImplicitAny
// 能够禁止所有变量的类型被隐式推断为 any 类型

// TypeScript 还有个选项 strictNullChecks
// 能够让 null 和 undefined 也有自己的类型
// 这样可以避免任意其他类型的值为上面两者之一

Powered by Sairin