0407 手打基础丸

81 阅读2分钟

手打基础丸 🧆 => 精选基础知识,经过多道工序精心制作而成,口感鲜嫩多汁。一口咬下,香气四溢,加上传统前端风味,令人回味无穷...... 助力食用者厚积薄发,夯实根基进阶上层。

开始typescript,明天专题😁

如何判断网页是否达到可视区域?

IntersectionObserver API:用于观察目标元素与其祖先元素或顶级文档视口(viewport)交叉状态,祖先元素与视窗viewport被称为根(root)。(摘自MDN文档)

getBoundingClientRect方法:返回元素大小及其相对于视口的位置,可以精确控制元素可见范围,兼容旧版浏览器

ElementCheckVisibility:检测元素是否可见,高效易用

const对象的属性可以修改吗?

对于基本数据类型const变量的值不能改变,对于引用类型则的属性值可以改变。因为const保证的是内存地址不变,引用类型的属性存于堆中,改变属性值不会改变内存地址

*如果需要真正的不可变对象,可以使用object.freeze方法。调用即冻结一层属性。

TypeScript有哪些常用类型?

基础类型:stringnumberbooleannullundefinedsymbolbigint
引用类型:object、array、tuple(表示已知数量和类型的array)、enum
特殊类型:anyunknownvoidnever

ts对象类型?如何定义?

在ts中使用对象类型来表示对象即除了原始类型之外的值

// 方法一:匿名
function greet(person: { name: string; age: number }){
    return "Hello "+ person.name
}
// 方法二:接口
interface Person {
  name: string;
  age: number;
}
function greet(person: Person) {
  return "Hello " + person.name;
}
// 方法三:类型别名
type Person = {
  name: string;
  age: number;
};
function greet(person: Person) {
  return "Hello " + person.name;
}

更多详见官方文档:www.tslang.com.cn/zh/docs/han…

ts的类型别名?如何定义?

ts支持使用type关键字来进行类型的别名命名,别名不可重复,别名内允许嵌套别名

// 基础类型别名
type num1 = number;
let num:num1 = 32;
// 对象类型别名
type Point = {
  x: number;
  y: number;
};
// 支持联合类型别名
type ID = number | string;