【第2篇】TypeScript 基本类型详解

TypeScript - 基本类型

  • 对于程序来说我们需要基本的数据单元,如:numbers, strings, structures, boolean 等数据结构。
  • 在TypeScript中我们支持很多你所期望在JavaScript中所拥有的数据类型系统。

1 声明一个boolean类型默认值是false

//1、声明一个boolean类型默认值是false
//在JavaScript和TypeScript中也具有最基本的逻辑断言值true/false,采用’boolean’类型。
var isFlag:boolean=false;

2、声明一个number类型值

//2、声明一个number类型值
//如JavaScript,TypeScript所有的数值类型采用浮点型计数,其类型为‘number’。

var orderNumber:number=100;

3、声明一个String类型

//3、声明一个String类型
//在webpages的JavaScript或者服务端的应用程序最基本的功能就是处理文本数据。在其他语言中大多使用’string’去代表文本数据类型。
//TypeScript和JavaScript一样也是用双引号(“)或者单引号包裹文本数据
var userName:string="龙梅子";

4、数组Array

//在TypeScript中如JavaScript一样允许我们操结合操作。数组类型可以使用下边两种方式之一
//第一种方式,你可以在数据类型之后带上’[]‘:
var list:number[] = [1, 2, 3];
//第二种方式,也可以采用泛型的数组类型:
var list1:Array<number> = [1, 2, 3];//泛型数组

5、枚举Enum

//5、枚举Enum
//TypeScript为JavaScript新增了枚举这种标准的集合数据类型。
//和在c#中一样,枚举是为一组数值类型一组更友好的名称:
 
enum Color {Red, Green, Blue};//enum关键字 枚举对象{声明变量}
var c1: Color = Color.Green;//从枚举里面拿出绿色出来赋给一个叫c的变量
 
//---------手动枚举所有值都设置---------------------
//默认枚举类型其实数值从0开始,你可以可用手动设置某一个成员的数值。
//例如我们可以将上文的起始值定为1:
enum Color1 {Red = 1, Green = 2, Blue = 4};
var c2: Color1 = Color1.Green;
 
//---------手动设置全部的枚举成员:---------------------
enum Color2 {Red = 1, Green, Blue};
var colorName: string = Color2[2];
 
alert(colorName);

6、any

  • 我们可能需要描述变量的类型,当我们编写的应用程序,我们可能不知道。这些值可能来自动态内容,例如从用户或第三方库。在这种情况下,我们要退出类型检查的,*让价值观通过编译时检查,要做到这一点,我们的标签,这些与'任何'类型:
//any’类型是一种强大的兼容存在的JavaScript库的类型系统。
//他允许跳过TypeScript的编译时类型的检查。
//‘any’类型对于我们只知道部分数据类型,但是不是所有的数据类型的类型系统。
//如一个混合了多种类型的集合数组
var notSure: any = 4;//notSure这个是不确定的值,默认先给一个数字4
notSure = "this string";//改变这个值为this string
notSure = false; //最终确定的值是一个boolean值.

var list2:any[] = [1, true, "free"];
 
list2[1] = 100;

7、void和‘any’

  • void和‘any’相对的数据类型则是’Void‘,它代表没有任何数据类型。我们常用的一个方法没有任何返回值:
 //我们常用的一个方法没有任何返回值:
//,格式如:function doMain:void{}
function warnUser(): void {
    alert("This is my void");
}

jquery与typescript结合使用

/****使用reference和path引入jquery.d.ts文件使用jquery$就不会报错.**/
 
/// <reference path="../plugins/typescript/typings/jquery.d.ts" />
 
/**
 * ts的void,string结合jquery的使用.
 *
 */
 
 
/***返回void值***/
 function setTableRowHtml1():void{
    var userName:string="";
    $("tr").each(function(){
         userName=$(this).find("td:eq(1)").html();
    });
    alert(userName);    
 }
 
/***返回string一个值***/
 function setTableRowHtml2():string{
    var userName:string="";
    $("tr").each(function(){
         userName=$(this).find("td:eq(1)").html();
    });
    return userName;
 }
 
$(function(){
    //setTableRowHtml1();
    
    var userName=setTableRowHtml2();
    alert(userName);    
});
 
/****使用reference和path引入jquery.d.ts文件使用jquery.d.ts声明的的$,不引就报错.**/
/// <reference path="../plugins/typescript/typings/jquery.d.ts" />

 
//var colorList:Array<string>=["red","blue","green","yellow"];//string类型
var colorList:Array<any>=["red","blue","green","yellow"];//any不知道类型
 
//---测试数组打印出来控制台/
function testArray():void{
    
    $.each(colorList,function(key,val){
        console.log(key+"="+val);
    });
    
    $(colorList).each(function(key,val){
        console.log(key+"="+val);
    });
}
 
 
/***返回一个值***/
 function setTableRowColor():void{
    $("tr").each(function(){
         //找到tr下面的所有td的第二个列都加上背景blue,字体颜色加上red
         $(this).find("td:eq(1)").css({ color: "red", background: "blue" });
    });
 }
 
 
 function setTableRowColor1():void{
   
     $("tr").each(function(){
        for(var i=0;i<colorList.length;i++){
            //找到tr下面的所有td的第二个列都加上背景blue,颜色就加上green色
            if(i==1){
                 $(this).find("td:eq(1)").css({ color: colorList[i], background: colorList[i+1] });
            }
        }
    });
 }
 
 
$(document).ready(function(){
    
    testArray();
    setTableRowColor();
    //setTableRowColor1();
    
});

工程源代码

TypeScript 基本类型详解

1、博客所有文章是本人2014年撰写,而GItHub的源代码是有些是2014年与2015年进行整理,由于在2013年项目接触TypeScript,同时在当年接触KendoUI开发的时候TypeScript的影子,故一年后决定把官方文档所有API文档认真琢磨了一遍,并且撰写成一本最全的中文TypeScript入门指南详解案例教程与代码,当初的下载量还是比较高的。由于最近接触Kotlin,自从学习TypeScript,它的语法对我后面学习Kotlin有了极大的帮助,个人感觉,它的语法跟ActionScript,Swift写法很像。故虽然好几年没怎么开发前端,由于它的重要性特意重新花点进行整理这门前端语言。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容

  • 原文链接:https://github.com/EasyKotlin 到目前为止,我们已经了解了Kotlin的基本...
    JackChen1024阅读 2,570评论 0 3
  • kotlin的类型系统相比Java,引入了一些新特性,它们是提升代码的可读性的基本要素之一,比如对可空类型和只读集...
    程自舟阅读 3,311评论 1 5
  • 写在开头:本人打算开始写一个Kotlin系列的教程,一是使自己记忆和理解的更加深刻,二是可以分享给同样想学习Kot...
    胡奚冰阅读 716评论 1 2
  • 6.1 可空性 ​ 可空性是Kotlin类型系统中帮助你避免NullPointException异常的一个特性...
    m1Ku阅读 542评论 0 3
  • 作者:向妮芳 来源:西厢风雅微信公众平台 晴光潋水澹云天, 一陌春风万柳烟。 燕子衔泥常碌碌, 琼芳落影亦翩翩。 ...
    采云归来阅读 343评论 0 0