Typescript学习总结1
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的更多相关文章
- TypeScript学习指南--目录索引
关于TypeScript: TypeScript是一种由微软开发的自由和开源的编程语言.它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程. TypeS ...
- TypeScript 学习一 参数,函数,析构表达式
1,TypeScript是由谷歌开发的,并且新出的Angular2框架就是谷歌公司由TypeScript语言编写的,所以现在TypeScript是有微软和谷歌一起支持的: 2,TypeScript在j ...
- TypeScript 学习资料
TypeScript 学习资料: 学习资料 网址 TypeScript Handbook(中文版)(推荐) https://m.runoob.com/manual/gitbook/TypeScript ...
- Typescript 学习笔记七:泛型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记六:接口
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记四:回忆ES5 中的类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记三:函数
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Typescript 学习笔记一:介绍、安装、编译
前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...
随机推荐
- 由于php环境时间与北京时间相差7个小时
故在设置当前时间时候需要加上 date_default_timezone_set('prc'); 或者 在php.ini里面设置date.timezone=prc
- SQL注入之Sqli-labs系列第二十六关(过滤空格、注释符、逻辑运算符注入)和第二十六A
开始挑战第二十六关(Trick with comments and space) 0x1看看源代码 (1)过滤了# or and /**/ / \ ,通过判断也过滤了空格 (2)这样一来只能看 ...
- 20165228 实验一 Java开发环境的熟悉
20165228 实验一 Java开发环境的熟悉 一.实验内容及步骤 (一)使用JDK编译.运行简单的Java程序 命令行下Java程序开发 1.用VrtualBox打开Linux虚拟机 2.使用Al ...
- scrapy框架简介和基础应用
scrapy框架介绍 环境安装 基础使用 一.什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性 ...
- 【bug-劫持】深信服劫持
深信服的 HTTP 劫持有办法解决嘛 劫持js 当前页面打开下载地址,chrome是弹出保存窗口不刷新页面的,但劫持了就刷新页面了 连wifi(电信)和4g(联通)都一样
- annotation注释简单介绍
元数据的作用 如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致可分为三类: l 编写文档:通过代码里标识的元数据生成文档. l ...
- Hive错误:Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000)
问题 初始化derby失败: [root@bigdata111 apache-hive-2.3.0-bin]# schematool -dbType derby -initSchemaSLF4J: C ...
- SQL-常用命令
1.基本概念 SQL(Structured Query Language)结构化查询语言:一种对数据库进行操作的语言. DBMS:数据库管理系统. MySQL:一个数据库管理系统. 约束值:通过对表的 ...
- 10 HashMap,Map.Entry,LinkedHashMap,TreeMap,Hashtable,Collections类
Map集合的功能概述 添加功能 * V put(K key,V value):添加元素. * 如果键是第一次存储,就直接存储元素,返回null * 如果键不 ...
- C++学习(三)(C语言部分)之 基本数据类型
基本数据类型 上期回顾 stdlib.h system,命令release MT导入ico文件 基本数据类型 整数 int浮点型(小数 实型) float double字符型 char 变量 常量速度 ...