2.15日关于学习git、原型链与ts的总结

110 阅读2分钟

① git stash

在项目开发中,基本都会遇到这样的情况:
本来你在自己的分支上愉快的开发功能A,但是突然加了一个优先级很高的需求B或者有bug需要先修复掉。
但这个时候,你新做的功能A刚开发到一半,总不能先提交A再开发B,或者直接拉个新分支切过去吧?
(可以倒是可以,但是不推荐)

在这里,我们就会使用到 git stash 命令。

1、git stash

暂存工作区修改的内容

可以stash多次,从最近一次的commit读取相关内容。

2、git stash pop

和 git stash 相反,git stash pop 是恢复暂存的工作区内容

值得注意的是, git stash pop 获取到的是最近一次stash进去的内容,也就是说如果stash两次或者多次,那么恢复的是最新一次stash进去的内容。

② 原型链

原型对象也可能拥有原型,并从中继承方法和属性,一层一层、以此类推。这种关系常被称为原型链 (prototype chain),它解释了为何一个对象会拥有定义在其他对象中的属性和方法

在对象实例和它的构造器之间建立一个链接(它是__proto__属性,是从构造函数的prototype属性派生的),之后通过上溯原型链,在构造器中找到这些属性和方法

QQ图片20230215184811.jpg

  • 构造函数Person存在原型对象Person.prototype
  • 构造函数生成实例对象personperson__proto__指向构造函数Person原型对象
  • Person.prototype.__proto__ 指向内置对象,因为 Person.prototype 是个对象,默认是由 Object函数作为类创建的,而 Object.prototype 为内置对象
  • Person.__proto__ 指向内置匿名函数 anonymous,因为 Person 是个函数对象,默认由 Function 作为类创建
  • Function.prototypeFunction.__proto__同时指向内置匿名函数 anonymous,这样原型链的终点就是 null****

③ Typescript

 typescript是javascript的超集: js有的ts都有。

而node和浏览器是不能直接运行ts的,我们需要把ts转换成js。

 1.npm i typescript -g # ts全局安装指令
 2.tsc -v  #查看ts版本
 3.tsc ***.ts #编译ts文件:生成js文件
 4.node ***.js #执行js代码
 

当然,简便的操作也是有的

   1.npm i -g ts-node #安装ts-node包
   2.ts-node ***.js #将ts转换成js,再执行js代码
   

TS基础类型:

1.原始类型(同js基础数据类型): number、string、Boolean、undefined、null、symbol