1、安装node.js:
npm -v 查看nmp版本
node -v 查看node版本
tsc -v 查看typescript版本
node test.js 运行js脚本
2、typescript安装:
/* Webstorm 编写运行 typescript 的方式: npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm.taobao.org/dist npm -g install typescript tsc -v npm install -g ts-node node.js+npm+tsc+webstorm+webstorm插件+ts_node // 执行以下命令将 TypeScript 转换为 JavaScript 代码:tsc app.ts // 使用 node 命令来执行 app.js 文件:node app.js // 以同时编译多个 ts 文件:tsc file1.ts file2.ts file3.ts * */
3、特点
// 需要注意接口不能转换为 JavaScript。 它只是 TypeScript 的一部分。 // TypeScript 不支持继承多个类,但支持多重继承
// 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。 // 引用数据类型:对象(Object)、数组(Array)、函数(Function)。 // js的对象键值对的写法类似于: // PHP 中的关联数组 // Python 中的字典 // C 语言中的哈希表 // Java 中的哈希映射 // Ruby 和 Perl 中的哈希表 // 在 JavaScript 中,很多时候,你需要避免使用 new 关键字。
// ts: // for…of 、forEach、every 和 some 循环 // for...of 语句创建一个循环来迭代可迭代的对象。在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议。 // forEach、every 和 some 是 JavaScript 的循环语法 // 怎么感觉不是for...of,而是let...of ?? let someArray = [1, "string", false]; for (let entry of someArray) { console.log(entry); // 1, "string", false }
4、算法错误记录:
// HJ3 明明的随机数 // 第一行输入个数,余下行输入要去重的数字序列:ctrl+c结束连续输入 // 3 // 2 // 2 // 1 let readline = require('readline'); let r1 = readline.createInterface({ input: process.stdin, output: process.stdout }); let line = -1; let len = 0; let arr = []; let obj = {}; r1.on('line', function (input){ input = parseInt(input); if (line == -1) { line = 1; len = input; arr = []; obj = {}; } else { if (!obj[input]) { obj[input] = 1; arr.push(input); } if (len === 1) { console.log(arr.sort(function(a,b) {return a-b;}).join("\n")); line = -1; } len--; } });