2018-05-09 5分钟入门CTS-尝鲜中文版TypeScript
本文为中文代码示例之5分钟入门TypeScript的CTS版本. CTS作者是@htwx(github). 它实现了关键词和标准库的所有命名汉化. 本文并未使用附带的vscode相关插件(包括CTS语言插件和拼音输入插件), 与原Typescript教程类似, 只用了命令行进行编译.
过程仍旧基于Typescript官方文档: TypeScript in 5 minutes.
源码在: program-in-chinese/cts_in_5_min
第一个CTS程序
函数 问好(那谁) {
返回 "吃了么, " + 那谁;
}
变量 路人 = "打酱油的";
文档.体.内部HTML = 问好(路人);
运行
cts 问好.ts --useUnicodeKeywords
编译生成"问好.js"文件.
添加参数类型
函数 问好(那谁: 文字) {
返回 "吃了么, " + 那谁;
}
如果'那谁'的类型不符, 比如是数组类型[0,1,2], 编译时会报错, 挺好:
问好.ts(7,30): error TS2345: Argument of type 'number[]' is not assignable to parameter of type 'string'.
添加接口
接口 人 {
姓: 文字;
名: 文字;
}
函数 问好(那谁: 人) {
返回 "吃了么, " + 那谁.姓 + 那谁.名;
}
变量 路人 = {姓: "大", 名: "黄"};
这里路人的"形状"符合"人", 类型就被判定为相符.
自己误写成了:
函数 问好(那谁: 人) {
返回 "吃了么, " + 人.姓 + 人.名;
}
编译提示'人'是个类型而不是值, 挺好:
问好.ts(7,20): error TS2693: '人' only refers to a type, but is being used as a value here.
添加类
类别 学生 {
全名: 文字;
构造(公开 姓: 文字, 公开 名: 文字) {
本体.全名 = 姓 + 名;
}
}
接口 人 {
姓: 文字;
名: 文字;
}
函数 问好(那谁: 人) {
返回 "吃了么, " + 那谁.姓 + 那谁.名;
}
变量 路人 = 新建 学生("大", "黄");
运行第一个网络应用
为了检验js文件, 添加HTML文件:
<!DOCTYPE html>
<html>
<head><title>TypeScript你好</title></head>
<body>
<script src="问好.js"></script>
</body>
</html>
html文件在Chrome中打开显示正确:
吃了么, 大黄
2018-05-09 5分钟入门CTS-尝鲜中文版TypeScript的更多相关文章
- 5分钟入门LingaScript-尝鲜中文版TypeScript
续前文转载: 中文輸進去,程式出得來,開發者發大財 -LingaScript:中文化TypeScript, 虽然其中例程使用了繁体中文语法, 但它同时也支持简体中文语法. 注: 此文中VS Code的 ...
- 【2018.05.09 Python学习及实践】个人项目中使用的Python库备忘-持续更新
科研中无论是使用C/C++.Python.Matlab,如果能找到合适的库可谓是事半功倍: 有时候忙活半天才发现本身就有成熟的库可用,自己实现的在功能.性能.安全性上都远远不及,虽然锻炼了能力,但存在 ...
- Shell脚本编程30分钟入门
Shell脚本编程30分钟入门 转载地址: Shell脚本编程30分钟入门 什么是Shell脚本 示例 看个例子吧: #!/bin/sh cd ~ mkdir shell_tut cd shell_t ...
- 正则表达式30分钟入门教程<转载>
来园子之前写的一篇正则表达式教程,部分翻译自codeproject的The 30 Minute Regex Tutorial. 由于评论里有过长的URL,所以本页排版比较混乱,推荐你到原处查看,看完了 ...
- PyTorch 60 分钟入门教程
PyTorch 60 分钟入门教程:PyTorch 深度学习官方入门中文教程 http://pytorchchina.com/2018/06/25/what-is-pytorch/ PyTorch 6 ...
- 从[Greenplum 6.0] 1分钟安装尝鲜开始
Greenplum目前6版本目前已经迭代了几个小版本了,随着版本的更新,不断的有bug被修复. 打算试用的朋友可以入手了. 作为开年的第一个工作日的第一个帖子,必须从“开天辟地”的6.0开始.以下内容 ...
- Objective-C 30分钟入门教程
Objective-C 30分钟入门教程 我第一次看OC觉得这个语言的语法有些怪异,为什么充满了@符号,[]符号,函数调用没有()这个,但是面向对象的高级语言也不外乎类,接口,多态,封装,继承等概念. ...
- Apache Shiro系列三,概述 —— 10分钟入门
一.介绍 看完这个10分钟入门之后,你就知道如何在你的应用程序中引入和使用Shiro.以后你再在自己的应用程序中使用Shiro,也应该可以在10分钟内搞定. 二.概述 关于Shiro的废话就不多说了 ...
- JavaScript 10分钟入门
JavaScript 10分钟入门 随着公司内部技术分享(JS进阶)投票的失利,先译一篇不错的JS入门博文,方便不太了解JS的童鞋快速学习和掌握这门神奇的语言. 以下为译文,原文地址:http://w ...
随机推荐
- C#退出窗体的总结方法
一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.En ...
- python 安装numpy遇到无法卸载的解决办法
python 安装模块numpy遇到无法卸载的情况的解决办法 python在安装seaborn的时候,需要更新numpy模块,但是更新失败,输出下面的错误: Cannot uninstall 'num ...
- vue属性监听
1.watch:用来监听每一个属性的变化 2.watch这个对象里面都是函数,函数的名称是data中的属性名称,watch中的函数不需要调用 3.当属性发生改变那么就会触发watch函数,每个函数都会 ...
- Xamarin.Android 开发中遇到旋转屏幕错误
错误信息 : System.NotSupportedException: Unable to find the default constructor on type App5.MyFragment. ...
- 使用apidocJs快速生成在线文档
https://blog.csdn.net/xialei199023/article/details/63251482 https://blog.csdn.net/qq_16142851/articl ...
- 求一个Map中最大的value值,同时列出键,值
求一个Map中最大的value值,同时列出键,值 方法1. public static void main(String[] args){ Map map=new HashMap(); map.p ...
- 详谈js防抖和节流
本文由小芭乐发表 0. 引入 首先举一个例子: 模拟在输入框输入后做ajax查询请求,没有加入防抖和节流的效果,这里附上完整可执行代码: <!DOCTYPE html> <html ...
- python干掉pycache
当第一次运行 python 脚本时,解释器会将 *.py 脚本进行编译并保存到 __pycache__ 目录 下次执行脚本时,若解释器发现你的 *.py 脚本没有变更,便会跳过编译一步,直接运行保存在 ...
- 第6章 LVM详解
6.1 LVM相关概念和机制 LVM(Logical Volume Manager)可以让分区变得弹性,可以随时随地的扩大和缩小分区大小,前提是该分区是LVM格式的. lvm需要使用的软件包为lvm2 ...
- Markdown——入门使用
一 Markdown是什么 markdown是一种纯文本格式的标记语言.通过简单的标记语法,它可以使普通文本具有一定的格式.markdown的语法十分简单,常用的也不过十来个,是一种轻量级的标记语言, ...