跳到主要内容

场景

2023年12月10日
柏拉文
越努力,越幸运

一、类型控制


定义

let noType = 0b0000;
let typeA = 0b0001;
let typeB = 0b0010;
let typeC = 0b0100;

合并

function mergeType(typeA, typeB) {
return typeA | typeB;
}

检测

function hasType(typeA, typeB) {
return (typeA & typeB) === typeB;
}

移除

function removeType(typeA, typeB) {
return typeA & ~typeB;
}

权重最大

function getHighestPriorityType(typeA) {
return typeA & -typeA;
}