TypeScript总结

TypeScript和面向对象:

面向对象有两个概念,对象和类,对象是类的一个实例,有状态和行为;类是一个模板,它用来描述一类对象的行为和状态。

TypeScript基础类型

  1. 任意类型any
  2. 数字类型number
  3. 字符串类型:单引号和双引号表示字符串类型,反引号来定义多行文本和嵌入表达式
  4. 布尔类型,表示true和false
  5. 数组类型:在元素类型后加上[]
  6. 元组类型:用来表示已知元素数量和类型的数组
  7. 枚举类型:用来定义数值集合
  8. Void:用来标识方法返回值的类型,表示该方法没有返回值
  9. null:表示对象值为空
  10. undefined:用来初始化变量
  11. never:是其他类型的子类型

变量声明

var声明可以在包含他的函数、模块、命名空间或者全局作用域内部的任何位置被访问,在typescript中let和var在语法上区别不大,主要区别在于语义上;const声明变量时,变量被赋值后,变量值不可被重新赋值。

函数参数数量未知时,这时候用剩余参数来定义

函数参数数量未知时,这时候用剩余参数来定义,例如:

function buildName(firstName: string, ...restOfName: string[]) { 
return firstName + " " + restOfName.join(" "); 
} 
let employeeName = buildName("Joseph", "Samuel", "Lucas", "MacKinzie");

Number对象方法

  • toExponential():把对象的值转换为指数计数法。
var num1 = 1225.30 
var val = num1.toExponential(); 
console.log(val) // 输出: 1.2253e+3
  • toFixed():把数字转换为字符串,并对小数点指定位数。
var num3 = 177.234 
console.log("num3.toFixed() 为 "+num3.toFixed())    // 输出:177
console.log("num3.toFixed(2) 为 "+num3.toFixed(2))  // 输出:177.23
console.log("num3.toFixed(6) 为 "+num3.toFixed(6))  // 输出:177.234000
  • toLocaleString():把数字转换为字符串,使用本地数字格式顺序。
var num = new Number(177.1234); 
console.log( num.toLocaleString());  // 输出:177.1234
  • toPrecision():把数字转换为指定的长度。
var num = new Number(7.123456); 
console.log(num.toPrecision());  // 输出:7.123456 
console.log(num.toPrecision(1)); // 输出:7
console.log(num.toPrecision(2)); // 输出:7.1
  • toString():把数字转换为字符串,使用指定的基数。
var num = new Number(10); 
console.log(num.toString());  // 输出10进制:10
console.log(num.toString(2)); // 输出2进制:1010
console.log(num.toString(8)); // 输出8进制:12
  • valueOf():返回一个Number对象的原始数字值。
	
var num = new Number(10); 
console.log(num.valueOf()); // 输出:10

String方法

  • charAt():返回指定位置的字符。
	
var str = new String("RUNOOB"); 
console.log("str.charAt(0) 为:" + str.charAt(0)); // R
console.log("str.charAt(1) 为:" + str.charAt(1)); // U 
console.log("str.charAt(2) 为:" + str.charAt(2)); // N 
console.log("str.charAt(3) 为:" + str.charAt(3)); // O 
console.log("str.charAt(4) 为:" + str.charAt(4)); // O 
console.log("str.charAt(5) 为:" + str.charAt(5)); // B
  • charCodeAt():返回指定位置的字符的编码。
var str = new String("RUNOOB"); 
console.log("str.charCodeAt(0) 为:" + str.charCodeAt(0)); // 82
console.log("str.charCodeAt(1) 为:" + str.charCodeAt(1)); // 85 
console.log("str.charCodeAt(2) 为:" + str.charCodeAt(2)); // 78 
console.log("str.charCodeAt(3) 为:" + str.charCodeAt(3)); // 79 
console.log("str.charCodeAt(4) 为:" + str.charCodeAt(4)); // 79
console.log("str.charCodeAt(5) 为:" + str.charCodeAt(5)); // 66
  • concat():连接两个或更多字符串,并返回新的字符串。
var str1 = new String( "RUNOOB" ); 
var str2 = new String( "GOOGLE" ); 
var str3 = str1.concat( str2 ); 
console.log("str1 + str2 : "+str3) // RUNOOBGOOGLE
  • indexOf():返回某个指定的字符串值在字符串中首次出现的位置。
var str1 = new String( "RUNOOB" ); 
var index = str1.indexOf( "OO" ); 
console.log("查找的字符串位置 :" + index );  // 3
  • lastIndexOf():从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
var str1 = new String( "This is string one and again string" ); 
var index = str1.lastIndexOf( "string" );
console.log("lastIndexOf 查找到的最后字符串位置 :" + index ); // 29
    
index = str1.lastIndexOf( "one" ); 
console.log("lastIndexOf 查找到的最后字符串位置 :" + index ); // 15
  • localeCompare():用本地特定的顺序来比较两个字符串。
var str1 = new String( "This is beautiful string" );
var index = str1.localeCompare( "This is beautiful string");  
console.log("localeCompare first :" + index );  // 0
  • match():查找找到一个或多个正则表达式的匹配。
var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/g);  // ain,ain,ain
  • replace():替换与正则表达式匹配的字符串。
var re = /(\w+)\s(\w+)/; 
var str = "zara ali"; 
var newstr = str.replace(re, "$2, $1"); 
console.log(newstr); // ali, zara
  • search():检索与正则表达式相匹配的值。
var re = /apples/gi; 
var str = "Apples are round, and apples are juicy.";
if (str.search(re) == -1 ) { 
   console.log("Does not contain Apples" ); 
} else { 
   console.log("Contains Apples" ); 
} 
  • slice():提取字符串的片段,并在新的字符串中返回被提取的部分。

  • split():把字符串分割为字符串数组。

var str = "Apples are round, and apples are juicy."; 
var splitted = str.split(" ", 3); 
console.log(splitted)  // [ 'Apples', 'are', 'round,' ]
  • substr():从起始索引号提取字符串中指定书目的字符。

  • substring():提取字符串中两个指定的索引号之间的字符。

var str = "RUNOOB GOOGLE TAOBAO FACEBOOK"; 
console.log("(1,2): "    + str.substring(1,2));   // U
console.log("(0,10): "   + str.substring(0, 10)); // RUNOOB GOO
console.log("(5): "      + str.substring(5));     // B GOOGLE TAOBAO FACEBOOK
  • toLocalLowerCase():根据主机的语言环境把字符串转换为小写。
var str = "Runoob Google"; 
console.log(str.toLocaleLowerCase( ));  // runoob google
  • toLocalUpperCase():根据主机的语言环境把字符串转换为大写。
var str = "Runoob Google"; 
console.log(str.toLocaleUpperCase( ));  // RUNOOB GOOGLE
  • toLowyerCase():把字符串转换为小写。
var str = "Runoob Google"; 
console.log(str.toLowerCase( ));  // runoob google
  • toUpperCase():把字符串转换为大写。
var str = "Runoob Google"; 
console.log(str.toUpperCase( ));  // RUNOOB GOOGLE
  • ValueOf():返回指定字符串对象的原始值。
var str = new String("Runoob"); 
console.log(str.valueOf( ));  // Runoob
  • toString():返回字符串。
var str = "Runoob"; 
console.log(str.toString( )); // Runoob

数组方法

  • concat():连接两个或更多的数组。
var alpha = ["a", "b", "c"]; 
var numeric = [1, 2, 3];
var alphaNumeric = alpha.concat(numeric); 
console.log("alphaNumeric : " + alphaNumeric );    // a,b,c,1,2,3 
  • every():检测数值元素的每个元素是否都符合条件。
function isBigEnough(element, index, array) { 
        return (element >= 10); 
}         
var passed = [12, 5, 8, 130, 44].every(isBigEnough); 
console.log("Test Value : " + passed ); // false
  • filter():检测数值元素,并返回符合条件的所有元素的数组。
function isBigEnough(element, index, array) { 
   return (element >= 10); 
}       
var passed = [12, 5, 8, 130, 44].filter(isBigEnough); 
console.log("Test Value : " + passed ); // 12,130,44
  • forEach():数组每个元素都执行一次回调函数。
let num = [7, 8, 9];
num.forEach(function (value) {
    console.log(value); // 7   8   9
}); 
  • indexOf():搜索数组中的元素,并返回它所在的位置。
var index = [12, 5, 8, 130, 44].indexOf(8); 
console.log("index is : " + index );  // 2
  • join():把数组中所有元素放入一个字符串。
var arr = new Array("First","Second","Third");        
var str = arr.join(); 
console.log("str : " + str );  // First,Second,Third
var str = arr.join(", "); 
console.log("str : " + str );  // First, Second, Third
var str = arr.join(" + "); 
console.log("str : " + str );  // First + Second + Third
  • lastIndexOf():返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
var index = [12, 5, 8, 130, 44].lastIndexOf(8); 
console.log("index is : " + index );  // 2
  • map():通过指定函数处理数组的每个元素,并返回处理后的数组。
var numbers = [1, 4, 9]; 
var roots = numbers.map(Math.sqrt); 
console.log("roots is : " + roots );  // 1,2,3
  • pop():删除数组后的最后一个元素并返回删除的元素。
var numbers = [1, 4, 9];          
var element = numbers.pop(); 
console.log("element is : " + element );  // 9
var element = numbers.pop(); 
console.log("element is : " + element );  // 4
  • push():向数组的末尾添加一个或更多的元素,并返回新的长度。
var numbers = new Array(1, 4, 9); 
var length = numbers.push(10); 
console.log("new numbers is : " + numbers );  // 1,4,9,10 
length = numbers.push(20); 
console.log("new numbers is : " + numbers );  // 1,4,9,10,20
  • reduce():将数组元素计算为一个值(从左到右)。
var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; }); 
console.log("total is : " + total );  // 6
  • reduceRight():将数组元素计算为一个值(从右到左)。
var total = [0, 1, 2, 3].reduceRight(function(a, b){ return a + b; }); 
console.log("total is : " + total );  // 6
  • reverse():反转数组的元素顺序。
var arr = [0, 1, 2, 3].reverse(); 
console.log("Reversed array is : " + arr );  // 3,2,1,0
  • shift():删除并返回数组的第一个元素。
var arr = [10, 1, 2, 3].shift(); 
console.log("Shifted value is : " + arr );  // 10
  • slice():选取数组的一部分,并返回一个新数组。
var arr = ["orange", "mango", "banana", "sugar", "tea"]; 
console.log("arr.slice( 1, 2) : " + arr.slice( 1, 2) );  // mango
console.log("arr.slice( 1, 3) : " + arr.slice( 1, 3) );  // mango,banana
  • some():检测数组元素中是否有元素符合指定条件。
function isBigEnough(element, index, array) { 
   return (element >= 10);       
} 
var retval = [2, 5, 8, 1, 4].some(isBigEnough);
console.log("Returned value is : " + retval );  // false        
var retval = [12, 5, 8, 1, 4].some(isBigEnough); 
console.log("Returned value is : " + retval );  // true
  • sort():对数组的元素进行排序。
var arr = new Array("orange", "mango", "banana", "sugar"); 
var sorted = arr.sort(); 
console.log("Returned string is : " + sorted );  // banana,mango,orange,sugar
  • splice():从数组中添加或删除元素。
var arr = ["orange", "mango", "banana", "sugar", "tea"];  
var removed = arr.splice(2, 0, "water");  
console.log("After adding 1: " + arr );    // orange,mango,water,banana,sugar,tea 
console.log("removed is: " + removed);          
removed = arr.splice(3, 1);  
console.log("After removing 1: " + arr );  // orange,mango,water,sugar,tea 
console.log("removed is: " + removed);  // banana
  • toString():把数组转换为字符串,并返回结果。
var arr = new Array("orange", "mango", "banana", "sugar");         
var str = arr.toString(); 
console.log("Returned string is : " + str );  // orange,mango,banana,sugar
  • unshift():向数组的开头添加一个或更多元素,并返回新的长度。
var arr = new Array("orange", "mango", "banana", "sugar"); 
var length = arr.unshift("water"); 
console.log("Returned array is : " + arr );  // water,orange,mango,banana,sugar 
console.log("Length of the array is : " + length ); // 5

Typescript支持三种访问权限

  • public:公有,可以在任何地方被访问
  • private:私有,只能在被定义的类中访问
  • protected:受保护,只能被其自身以及父类和子类访问
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值