Typescript字符串处理

首先打开运行Typescript的编辑器

http://www.typescriptlang.org/play/index.html

1. 调用变量和方法

var myname = "zhangsan";
var getName = function () {
return "zhangsan";
}
console.log(`hello ${myname}`)
console.log(`hello ${getName()}`)

2. 自动拆分字符串

function test(template, name, age) {
console.log(template);
console.log(name);
console.log(age);
} var myname = "zhangsan";
var getAge = function () {
return 18;
} test`hello, my name is ${myname}, age is ${getAge()}`

运行结果

 3. 函数默认参数

如下图,定义了三个string类型的参数的函数test

如果只传两个参数,编译器就会报错

此时可以将第三个参数设置默认值,或者调用test方法时传递三个参数。

注意: 带默认值参数要放在函数最后面

4. 可选参数

function test(id:string, name?:string, age:string = '18') {
console.log(id);
console.log(name);
console.log(age);
} test("1");

可选参数只需要在参数名后面加一个问号

此时test函数只需要传递一个参数

  

5. 任意参数

function test(...args) {
args.forEach(function (arg) {
console.log(arg);
})
} test('zhangsan');
test('zhangsan', '男');
test('zhangsan','男', 18)

 三个点形式的参数代表可以传任意个参数

6. 析构函数

6.1 针对对象的析构表达式

function getStudent() {
return {
stuName: "zhangsan",
age:24
}
} var { stuName, age } = getStudent();
console.log(stuName);
console.log(age);

stuName和age要和对象里的名称对应,如果要修改名称,可以改成stuName:sName

function getStudent() {
return {
stuName: "zhangsan",
age:24
}
} var { stuName:sName, age } = getStudent();
console.log(sName);

  对象里还有对象,如下面的nickName

function getStudent() {
return {
stuName: "zhangsan",
age: 24,
nickName: {
nickName1:"z1",
nickName2:"z2"
}
}
} var { stuName: sName, age, nickName: { nickName1}} = getStudent();
console.log(sName);
console.log(age);
console.log(nickName1);

  

6.2 针对数组的析构表达式

var array1 = [1, 2, 3, 4];
var [number1, number2] = array1;
console.log(number1);
console.log(number2);

如果要打印第一个数字和第四个数字

var array1 = [1, 2, 3, 4];
var [number1,,, number4] = array1;
console.log(number1);
console.log(number4);

打印出其他数组

var array1 = [1, 2, 3, 4];
var [number1, number2, ...other] = array1;
console.log(number1);
console.log(number2);
console.log(other);

  结果如下 other代表第三个和第四个参数的数组

6.3 函数参数的析构

var array1 = [1, 2, 3, 4];

function test([number1, number2, ...other] ) {
console.log(number1);
console.log(number2);
console.log(other);
} test(array1);

  

  

7. 箭头表达式:

用来声明匿名函数,消除传统匿名函数的this指针

var sum = (arg1, arg2) => arg1 + arg2;

如果是多行,还是要加{}的

var sum = (arg1, arg2) => {
if (arg1 < 0) {
arg1 = 0;
}
return arg1 + arg2;
}

 

如果方法只有一个参数,可以直接写参数

var sum = arg1 => {
console.log(arg1);
}

  

例如

var array1 = [1, 2, 3, 4, 5];

console.log(array1.filter(value => value % 2 == 0));

定义了一个数组,并过滤数组里的数字是2的整数倍,打印结果如下

  

 8. 循环表达式

forEach循环(JS本身支持)

var array1 = [1, 2, 3, 4];
array1.info = "for info"; array1.forEach(value => console.log(value));

打印结果

forEach不能跳出循环,break是不支持的

并且忽略info属性,也就是不打印info值

for in 循环 (JS本身支持) 

var array1 = [1, 2, 3, 4];
array1.info = "for info"; for (var i in array1) {
console.log(array1[i]);
}

效果图

不忽略info属性

for of 循环

可以打断循环 

var array1 = [1, 2, 3, 4];
array1.info = "for info"; for (var i of array1) {
console.log(i);
}

 忽略info属性,也就是不打印info值

for of 支持break

var array1 = [1, 2, 3, 4];
array1.info = "for info"; for (var i of array1) {
if (i > 2) {
break;
}
console.log(i);
}

  

 

Typescript学习总结1的更多相关文章

  1. TypeScript学习指南--目录索引

    关于TypeScript: TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程. TypeS ...

  2. TypeScript 学习一 参数,函数,析构表达式

    1,TypeScript是由谷歌开发的,并且新出的Angular2框架就是谷歌公司由TypeScript语言编写的,所以现在TypeScript是有微软和谷歌一起支持的: 2,TypeScript在j ...

  3. TypeScript 学习资料

    TypeScript 学习资料: 学习资料 网址 TypeScript Handbook(中文版)(推荐) https://m.runoob.com/manual/gitbook/TypeScript ...

  4. Typescript 学习笔记七:泛型

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

  5. Typescript 学习笔记六:接口

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

  6. Typescript 学习笔记五:类

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

  7. Typescript 学习笔记四:回忆ES5 中的类

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

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

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

  9. Typescript 学习笔记三:函数

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

  10. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

随机推荐

  1. ChinaCock界面控件介绍-CCNewsSilder

    上图是控件包里的Demo运行效果,轮播新闻图片. 这个控件用起来简单,拖放一个CCNewsSiler到Form上,设置Align为Top,再设置好高度,然后用代码加载图片: procedure TFo ...

  2. python之pandas简单介绍及使用(一)

    python之pandas简单介绍及使用(一) 一. Pandas简介1.Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据 ...

  3. 匿名函数lambda,过滤函数filter,映射类型map

    匿名函数lambda, 作用是不用定义函数,用完之后会自动被删掉,在使用执行脚本的时候,使用lambda就可以省下定义函数的过程,简化代码的可读性. 格式是 例子g=lambda x,y:x+y g( ...

  4. HDU 2147 kiki's game(博弈经典题)

    题目传送:http://acm.hdu.edu.cn/showproblem.php?pid=2147 Problem Description Recently kiki has nothing to ...

  5. 常用文本编辑器 editor 的常用插件 —— CopyEdit

    1. CopyEdit http://www.conyedit.com/, 跨平台的文本编辑器插件: 监控粘贴板以及支持命令解析 其官网上有其动图演示:

  6. 解决cocos2dx调用removeFromParent后报错问题

    原因:cocos2dx的bug 解决办法: 放到action中,前面添加一个DelayTime延迟,代码如下 this->runAction(Sequence::create(DelayTime ...

  7. 小白入门photoscan

    1.安装 我装的是photoscanPro 1.4.5版本.[注]:刚开始是在官网上下载的,要收费就点了试用,结果当我等了一天把将近200张图片处理完后,告诉我试用版不能保存文件...(绝望-_- - ...

  8. Codeforces 1005D:Polycarp and Div 3

    题目链接:http://codeforces.com/problemset/problem/1005/D 题意 给出个字符串(全是数字),把这个字符串换分成一些子串,最多能划分多少个能够被3整除的子串 ...

  9. 2017.4.5 Strom

    Strom是分布式实时计算系统,它对于实时计算的意义类似于hadoop对于批处理的意义.与Storm关系密切的语言:核心代码用clojure书写,实用程序用python开发,使用java开发拓扑. S ...

  10. 识别假tf卡工具

    h2testwhttps://www.heise.de/download/product/h2testw-50539使用HaraldBögeholz的免费测试工具H2testw,可以检查存储介质(如硬 ...