学习一成不变,听不懂他们说的话

studying immutable and can't understand what they say

我正在研究 immutable.js 的记录。

但是这段代码差点要了我的命。

我的问题

  1. 我知道 [import, export,const] 但 [type] 是什么意思。

  2. defaultValues: makePoint3D:getName(): stringsetName(name: string): this什么意思。我从未见过 : unless in object or if .

这个问题是我理解的关键。

请多多指教!

import type { RecordFactory, RecordOf } from 'immutable';

// Use RecordFactory<TProps> for defining new Record factory functions.
type Point3DProps = { x: number, y: number, z: number };
const defaultValues: Point3DProps = { x: 0, y: 0, z: 0 };
const makePoint3D: RecordFactory<Point3DProps> = Record(defaultValues);
export makePoint3D;

// Use RecordOf<T> for defining new instances of that Record.
export type Point3D = RecordOf<Point3DProps>;
const some3DPoint: Point3D = makePoint3D({ x: 10, y: 20, z: 30 });

type PersonProps = {name: string, age: number};
const defaultValues: PersonProps = {name: 'Aristotle', age: 2400};
const PersonRecord = Record(defaultValues);
class Person extends PersonRecord<PersonProps> {
  getName(): string {
    return this.get('name')
  }

  setName(name: string): this {
    return this.set('name', name);
  }
}

来自https://immutable-js.github.io/immutable-js/docs/#/Record

getName(): string , getName() 是你的方法和 : 之后的部分讲述 return 类型。基本上 : 之后的部分通常表示 about type 。 return type , variable type etc 无论你使用什么

getName() : string
{
return "Hi";       
}

getName() : string
{
 let a = 2;
 return a;
}

第二种方法将给出 error 因为我们的方法 return 类型是 string 而我们正在 returning Number

有时我们在 if 条件下使用 : 这个

 isGendeMale : boolean = false;
 var gender : string = isGendeMale ? "Male" : "Female";

说明

? 检查值如果条件是 true: 之前的部分将被分配如果 false 之后的部分 : 将被分配

Basic Types