TypeScript

前言

最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新。主要是手头很缺人,如果有谁有兴趣
加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有很多的好的库我也可以开源(兼容MvvmCross)。下面就我学习TypeScript。

工具

大家可以使用VS2013/2015,VS2012可以安装对应的插件,我们直接新建(带TypeScript的HTML应用程序),并在app.ts中进行开发,
如果读者想查看对应生成的js代码可以到项目目录下查看(建议不要把app.js添加到项目,因为那是自动生成的)。

基本数据类型

TypeScript不同于javascript这门弱类型语言,提供了常用的数据类型,这样我们可以编写的时候提供类型检查,这样我们在编写的时候可以当作强类型语言那样,可以避免很多在运行时才能发现的问题。下面我们就学习TypeScript中的数据类型。

Boolean

作为最简单的但也是最常用的就是布尔类型了,只有true和false这两种值,通过下面这段代码我们可以看到TypeScript不同于C#的(bool isDone = false)
这种形式,而是先通过var定义变量,然后在变量后跟上冒号,冒号后面才是真正的类型。如果读者尝试赋给他其他类型变量可以发现进行了类型检查,而也
是作为TypeScript带给我们的好处之一(大家放心我们依然可以使用到原汁原味的javascript下的var)

--TypeScript:

var isDone : boolean = false;

--JavaScript

var isDone = false;

Number

在TypeScript所有的数值都是单精度数值,不存在整数或者其他类型,只有Number。使用惯其他的语言的读者不要苦苦寻觅int,uint,long类型了。

--TypeScript

var height : number = 6;
height = 3.545;
height = -40;

--JavaScript

var height = 6;
height = 3.545;
height = -40;

String

跟其他的语言一样在TypeScript中对应的字符串类型也是String,而我们可以通过("")双引号或者('')单引号将字符串值括起来。

--TypeScript

var name : string = "TypeScript";
name = 'JavaScript';

--JavaScript

var name = "TypeScript";
name = 'JavaScript';

Array

在TypeScript中你可以跟在JavaScript中一样使用数组,在TypeScript中有两种定义数组的方式,其中一个方式就在类型后面跟上([])方括号。

--TypeScript

var list: number[] = [5, 6, 8];

--JavaScript

var list = [5, 6, 8];

另一种方式就是利用Array类型,将类型作为泛型参数传入。

--TypeScript

var list2: Array<number> = [5, 6, 8];

--JavaScript

var list2 = [5, 6, 8];

Enum

相对JavaScript,TypeScript增加了一个有用的基础数据类型,就是枚举。我们可以利用更友好的方式替代纯数字。

--TypeScript

enum Color {
Red,
Green,
Blue
}; var c: Color = Color.Red;

--JavaScript

var Color;
(function (Color) {
Color[Color["Red"] = 0] = "Red";
Color[Color["Green"] = 1] = "Green";
Color[Color["Blue"] = 2] = "Blue";
})(Color || (Color = {})); var c = 0 /* Red */;

我们可以看到枚举默认是从0开始顺序递增的,有过C#基础的人肯定知道可以修改第一个枚举的值从而
让后面的枚举值基础这个值进行递增,比如下面这个写法:

--TypeScript

enum Color {
Red = 1,
Green,
Blue
}; var c: Color = Color.Green;

--JavaScript

var Color;
(function (Color) {
Color[Color["Red"] = 1] = "Red";
Color[Color["Green"] = 2] = "Green";
Color[Color["Blue"] = 3] = "Blue";
})(Color || (Color = {})); var c = 2 /* Green */;

除此之外我们也可以指定每个枚举的值,比如下面这样。

--TypeScript

enum Color {
Red = 1,
Green = 2,
Blue = 4
}; var c: Color = Color.Green;

--JavaScript

var Color;
(function (Color) {
Color[Color["Red"] = 1] = "Red";
Color[Color["Green"] = 2] = "Green";
Color[Color["Blue"] = 4] = "Blue";
})(Color || (Color = {})); var c = 2 /* Green */;

很多时候我们需要获取枚举的字符串形式,而TypeScript不同于C#直接使用ToString方法就可以,
而是需要通过其他方式来获取,比如下面这样。

--TypeScript

var c: Color = Color.Green;
var s: string = Color[c];

--JavaScript

var c = 2 /* Green */;
var s = Color[c];

Any

虽然我们使用了TypeScript,获得了类型检查。但是许多第三方库中的变量不会作为单一类型的值来使用,
为此TypeScript提供了另一种类型,会跳过编译检查,但是我们为此就会失去类型检查。

--TypeScript

var notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; var notSureList: any[] = [1, "fa", false];
notSureList[0] = "das";

--JavaScript

var notSure = 4;
notSure = "maybe a string instead";
notSure = false; var notSureList = [1, "fa", false];
notSureList[0] = "das";

Void

一般这种类型都是用在函数的返回值上,表示该函数没有返回值比如下面这样。

--TypeScript

function warnUser(): void {
alert("This is my warning message.");
}

--JavaScript

function warnUser() {
alert("This is my warning message.");
}
Xamarin.Android -> Xamarin.IOS -> 混合 -> Xamarin.Forms

基本数据类型TypeScript的更多相关文章

  1. TypeScript之基本数据类型

    前言 最近项目很急,所以没有什么时间回答关于Xamarin.Android方面的问题,也有一段时间没有更新.主要是手头很缺人,如果有谁有兴趣加入我们的话,可以私聊我,这样我就能继续造福社区了,同时还有 ...

  2. Typescript 学习笔记二:数据类型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  3. Typescript基础(1)——数据类型

    前言 这是开始学习Typescript的一些笔记,涉及的都是很基础的知识点.大神们请绕路或者欢迎指点.今天开始第一部分数据类型的学习. 数据类型 Typescript中为了使代码编写更加规范,更加易于 ...

  4. typeScript中的数据类型

    /* typeScript中的数据类型 typescript中为了使编写的代码更规范,更有利于维护,增加了类型校验,在typescript中主要给我们提供了以下数据类型 布尔类型(boolean) 数 ...

  5. 遨游TypeScript海洋之定义变量和数据类型

    变量和数据类型 熟悉JavaScript的小伙伴都知道,typescript是JavaScript的超集,也就是说它包含JavaScript.所以我觉得,只要你想拥有更佳的模块管理,让你的开发更佳严谨 ...

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

    变量和数据类型 你的Javascript能力到达瓶颈?那是因为你还不会typescript.掌握TS,让你的开发更加准确简洁. 今天的学习中,我们接着从TS的数据类型和变量入手,感受它们的奇妙魔力. ...

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

    变量和数据类型 JavaScript虽说深受万千程序员喜爱,却有着对于企业大规模开发很难管理的缺陷.这时候,TypeScript的优势便体现出来.接下来,我们会先接触在TypeScript中定义变量相 ...

  8. TypeScript入门二:基本数据类型

    浅析基本数据类型 TypeScript类型解析 一.浅析基本数据类型 首先有一个问题TypeScript是一门编译型语言?还是解释性语言?显然已经不能被这两个分类来区分,TypeScript的并不是为 ...

  9. Typescript 学习笔记七:泛型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

随机推荐

  1. Redis 安装与简单示例(转)

    本文转载自:http://www.cnblogs.com/kissdodog/p/3570984.html Redis的安装 Redis下载地址如下:https://github.com/dmajki ...

  2. redis加入到Windows 服务

    1.cmd命令  安装命令: redis-server.exe --service-install redis.windows.conf --loglevel verbose  卸载命令:  redi ...

  3. 腾讯视频QLV格式转换mp4的方法

    腾讯视频QLV格式转换mp4的方法不知道大家知不知道用?喜欢用腾讯视频的朋友应该都知道腾讯视频单独搞出了个QLV格式文件,只能用腾讯独有的腾讯视频软件才能播放,就算用格式工厂转换也不行,那么腾讯视频的 ...

  4. ActiveMQ源码架构解析第一节(转)

    工作四年已久,也快到了而立之年,本人也酷爱技术,总是想找一些途径来提升自己,想着温故而知新所以就写起了博客,然而写博客这个想法也是酝酿了很久,近期也看到了有很多人在问关于ActiveMQ的相关问题,有 ...

  5. CSDN开源夏令营 百度数据可视化实践 ECharts(8)问题分析

    ECharts问题描写叙述: 问题就是折线图上的点是显示的,有人问能不能一開始不显示,当你点击的时候或者是当鼠标移动到上面的时候,折线上的点才显示? 例如以下图所看到的: 分析:让折线上的点不显示能够 ...

  6. SetCookies, cookie规范注册表和cookie存储将会优先于设置在HTTP客户端级别中默认的那些

    遇到下面问题解决方法: Hey? 404 抱歉,你输入的网址可能不正确,或者该网页不存在. 7 秒后返回首页 使用独立的本地执行上下文来实现对每个用户(或每个线程)状态的管理. 定义在本地内容中的co ...

  7. zTree实现地市县三级级联Service接口測试

    zTree实现地市县三级级联Service接口測试 ProvinceServiceTest.java: /** * @Title:ProvinceServiceTest.java * @Package ...

  8. [置顶] quartznet任务调度和消息调度(JAVA与C#版对比)

    quartznet任务调度和消息调度 1.  作用 自动执行任务. 2.  下载地址 NET版本 JAVA版本 1下载 http://quartznet.sourceforge.net/downloa ...

  9. Windows Phone开发(34):路径标记语法

    原文:Windows Phone开发(34):路径标记语法 如果你觉得前面所讨论的绘制各种几何图形的方法过于复杂,那么,今天我们也来一次"减负"吧.当然,我们是很轻松的,本教程是不 ...

  10. android的ViewPager和Animation有些使用(二)

    Animation部分 android的animation分scale,rotate,tranlateAnimation,alpha这些类型的 start animation这里有几种方法: < ...