初学TypeScript

TypeScript简单介绍

微软新推TypeScript取代JavaScript

TypeScript是一个应用程序级的JavaScript开发语言。

TypeScript是JavaScript的超集,可以编译成纯JavaScript。

TypeScript跨浏览器、跨操作系统、跨主机,开源。

let关键字和var关键字的区别

var 声明有些奇怪的作用域规则

var IsFlag: boolean = false;
if (IsFlag)
{
    var x = 10;
}
var y = x;//js正常编译

//使用 var 声明时, 它不在乎你声明多少次;你只会得到1个。
function f(x)
{
    var x;
    var x;
    if (true)
    {
        var x;
    }
}

上面的代码我们可以发现,即使是在if代码块外,依然可以取到变量x,这是因为 var 声明可以在包含它的函数, 模块, 命名空间或全局作用域内部任何位置被访问 , 包含它的代码块对此没有什么影响。 有些人称此为 var 作用域或函数作用域。

let关键字是JavaScript的一个新概念, TypeScript实现了它,它功能上和var大致相同,但是仅限于声明对象所在块级作用域内访问

var IsFlag: boolean = false;
if (IsFlag)
{
    let x = 10;
}
let y = x;//Error 无法找到名称‘x’

let z = 10;
let z = 20; // 错误, 不能在1个作用域里多次声明`z`

基本数据类型

这里只是简单描述了TypeScript里数据类型的使用,详细说明点击了解

//boolean
let IsFlag: boolean = false;
//number
let num: number = 100;
//string
let str: string = "你好";
//数组array
let numlist: number[] = [1, 2, 3];
let numlist1: Array<number> = [1, 2, 3];
//枚举enum
enum color { red, black, blue, green };
let col: color = color.green;
enum color1 { red = 0, black = 1, blue = 2, green = 3 };
let col1: string = color1[0];
//any类型
let notsure: any = "你好";
notsure = 100;
notsure = false;

函数的简单调用

//带参函数:限定参数格式和返回值类型,不写返回值类型的话TypeScript能够根据返回语句自动
//推断出返回值类型, 因此我们通常省略它。
function add(x: number, y: number): number
{
    return x + y;
}
//可选参数:可选参数必须跟在必须参数后面。 如果上例我们想让first name是可选的, 那么就
//必须调整它们的位置, 把first name放在后面。
function buildName(firstName: string, lastName?: string)
{
    if (lastName)
        return firstName + " " + lastName;
    else
        return firstName;
}

//在TypeScript里, 我们也可以为参数提供一个默认值当用户没有传递这个参数或传
//递的值是 undefined 时。 它们叫做有默认初始化值的参数。 让我们修改上例,
//把last name的默认值设置为 "Smith" 。
function buildName(firstName: string, lastName = "Smith")
{
    return firstName + " " + lastName;
}

接口

//一个简单的接口
interface SearchFunc {
(source: string, subString: string): boolean;
}
//一个接口可以继承多个接口, 创建出多个接口的合成接口。
interface Shape
{
    color: string;
}
interface Square extends Shape {
    sideLength: number;
}
let square = <Square>{};
square.color = "blue";
square.sideLength = 10;
时间: 2024-10-29 19:11:09

初学TypeScript的相关文章

关于typescript之定义变量和数据类型那点事

JavaScript虽说深受万千程序员喜爱,却有着对于企业大规模开发很难管理的缺陷.这时候,TypeScript的优势便体现出来.接下来,我们会先接触在TypeScript中定义变量相关的问题.之后再来了解JavaScript类型在TypeScript中的变化以及TypeScript中新增的类型.希望这些内容可以帮助你对typescript更加了解. 一. 变量声明方式1.1. 声明变量的格式 我们已经强调过很多次,在TypeScript中定义变量需要指定 标识符 的类型. 所以完整的声明格式如

感受typescript定义变量和数据类型的神奇魔力

你的Javascript能力到达瓶颈?那是因为你还不会typescript.掌握TS,让你的开发更加准确简洁.今天的学习中,我们接着从TS的数据类型和变量入手,感受它们的奇妙魔力.一. 变量声明方式1.1. 声明变量的格式 我们已经强调过很多次,在TypeScript中定义变量需要指定 标识符 的类型. 所以完整的声明格式如下: var/let/const 标识符: 数据类型 = 赋值; 比如我们声明一个message,完整的写法如下: 注意:这里的string是小写的,和String是有区别的

Typescript : 遍历Array的方法:for, forEach, every等

方法一,for-of 这个貌似是最常用的方法,angular 2中HTML语法绑定也是要的这种语法. let someArray = [1, "string", false]; for (let entry of someArray) { console.log(entry); // 1, "string", false } for-in 官方文档上强调了for-in和for-of的区别: let list = [4, 5, 6]; for (let i in li

[TypeScript] Create random integers in a given range

Learn how to create random integers using JavaScript / TypeScript. /** * Returns a random int between * @param start inclusive * @param before exclusive */ export function randomInt(start: number, before: number) { return start + Math.floor(Math.rand

TypeScript+vsCode环境搭建

why? 1.基于前面文章的主观意见,所以个人倾向于将mvc的思想也使用到编程工具的使用上.工具嘛,无非是减少必要劳动力,提高工作效率的东西. 2.本人pc机上的vs2012自从装了resharper 之后,从启动速度上就慢了很多,启动一个项目要等待很长时间,且vs中对于ts的智能提示的速度让人难以忍受. start 0.本文是基于nodejs下进行的,没有配置好的同学请自行Google,非本文阐述内容. 1.github下载最新版TypeScript git clone https://git

TypeScript官方文档翻译-5

1.1 Ambient Declarations 1.1 环境声明 An ambient declaration introduces a variable into a TypeScript scope, but has zero impact on the emitted JavaScript program. Programmers can use ambient declarations to tell the TypeScript compiler that some other co

TypeScript系列1-1.5版本新特性

1. 简介 随着PC端快速向移动端迁移,移动(体验)优先的概念也越来越响.由于ReactJS目前移动端仅仅支持iOS,因此移动端Web开发框架只能选择: AngularJS/Angula2 + Ionic框架 + Cordova.想要学习好Angula2以及阅读其代码, 就必须了解和学习TypeScript,也因此需要学习好ES6以及Web Component.近期将开始学习TypeScript语言. 下面先看看TypeScript语言的发展: 鉴于JavaScript这种脚本语言很难应用于大规

【TypeScript】TypeScript 学习 5——方法

在 JavaScript 中,有两种方式定义方法. 1.命名的方法 function add(x,y){ return x+y; } 2.匿名方法 var myAdd = function(x,y) { return x+y;}; 在 TypeScript 中,也兼容上面两种定义方式,但是,既然我们用的是 TypeScript,那么肯定要强于本来的定义方式. 1.类型化方法 function add(x:number, y:number):number{ return x+y; } var my

TypeScript入门知识二(参数新特性)

一,参数类型 1.在参数的名称后面使用冒号来指定参数的类型,当赋值的不是指定类型数值时会报错. var myname: string = "zhang san"; 2.当你没有指定类型时,会默认你第一次赋值的数据类型为当前变量的数据类型,在TypeScript中称为(类型推断机制) var myname = "zhang san"; myname = 13;//(这时候就会报错) 3.any 类型,当定义为any 类型时,可以赋多种类型的数值. var myname