欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TypeScript总结

程序员文章站 2022-07-03 19:23:13
...

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:受保护,只能被其自身以及父类和子类访问
相关标签: typescript