尊敬的审核:
本人文章《你的“口头offer”是undefined还是null?——2520年度码农合同防坑小指北》
1. 纯属技术交流,无任何违法内容
2. 所有法律引用均来自公开条文
3. 请依据《网络安全法》第12条“不得无故删除合法内容”处理
附:本文结构已通过区块链存证
在编程里,undefined和null好歹还能用===判断,但到了HR嘴里,“薪资open”和“很快走完流程”却成了薛定谔的Offer——既不能JSON.parse(),也没法try-catch……本文用程序猿大白话语法拆解那些藏在“原则上”“大概率”里的合规风险,毕竟你的职业生涯不该是console.log(老板的承诺)——打出来的永远是[Object Promise],却永远await不到结果,劳动法不是eval(),别等到执行时报错才想起要debug
—— 防坑防PUA,从读懂Offer开始 ——
(正文开始,请自带"use strict";模式阅读👇——)
javascript
const 你的Offer状态 = () => {
if (老板说("你来上班吧") && !有书面Offer) {
return "undefined"; // 法条上等于不存在
} else if (HR说("走流程中") && 已经等了三个月) {
return "null"; // 明确的无价值
} else {
return new Error("建议直接仲裁");
}
};
一、合规World的“类型检查”
根据《劳动合同法》第10条:
java
public class 劳动合同 {
void 成立条件() {
// 必须有书面形式!
if(!this.is书面形式()) {
throw new 无效合同Exception();
}
}
}
口头offer就像JS里的undefined:
它存在(老板确实说过)
但它又不存在(法庭上无法证明)
最终表现:typeof 口头Offer === "undefined"
二、HR的“异步回调陷阱”
常见套路:
python
def 发Offer流程(候选人):
print("我们很看好你")
yield "背景调查中..."
yield "走审批流程..."
while True:
yield "请再等等"
# 永远不会执行
return 正式Offer
合规依据:
《就业服务与就业管理规定》第12条:
“用人单位应当如实告知劳动者工作内容、劳动报酬等”
→翻译成人话:
sql
SELECT * FROM HR的嘴
WHERE 内容 IS NOT NULL
AND 真实性 = TRUE;
-- 通常返回0条记录
三、“狼来了”式招聘的防御代码
go
func 防忽悠指北() {
for {
select {
case <-口头承诺:
fmt.Println("请对方发邮件确认")
case <-微xin模糊表态:
fmt.Println("请对方明确'具体薪资+入职日期'")
case <-画大饼:
fmt.Println("直接按Ctrl+C终止进程")
}
}
}
四、靠谱Offer的特征校验
正规Offer应该能通过以下单元测试:
javascript
describe('合法Offer', () => {
it('应该包含薪资数字', () => {
expect(offer.薪资).not.toBeNaN();
});
it('应该有明确时间', () => {
expect(offer.入职日期).not.toBe('尽快');
});
it('应该有公章', () => {
expect(offer.公司章).toBeTruthy();
});
});
五、weiquan锦囊(非战斗人员请跳过)
当检测到offer === null时:
bash
#!/bin/bash
# 劳动仲裁一键脚本
收集证据 >> 仲裁申请.txt
微xin记录公证 --format=PDF
计算赔偿金 --依据=《劳动合同法》第82条
echo "记住,公司最怕你较真"
javascript
// 《劳动合同法》第82条代码版:用人单位不签书面劳动合同的合规责任
const 劳动合同法第82条 = (入职日期, 当前日期) => {
const 一个月 = 30 * 24 * 60 * 60 * 1000; // 毫秒数
const 应签合同截止日 = new Date(入职日期.getTime() + 一个月);
if (当前日期 > 应签合同截止日) {
const 超期天数 = Math.floor((当前日期 - 应签合同截止日) / (24 * 60 * 60 * 1000));
const 赔偿月份数 = Math.floor(超期天数 / 30);
// 第82条规定:超过1个月不满1年未订立合同,每月支付2倍工资
return {
合规依据: "《劳动合同法》第82条",
赔偿类型: "双倍工资差额",
应赔月数: Math.min(赔偿月份数, 11), // 最多11个月
计算公式: "月工资 × 应赔月数",
备注: "自用工之日起满1年仍未订立的,视为已订立无固定期限劳动合同"
};
}
return null; // 未超期不赔偿
};
// 使用示例
const 我的入职日期 = new Date("2023-01-01");
const 今天 = new Date();
console.log(劳动合同法第82条(我的入职日期, 今天));
输出示例:
json
{
"合规依据": "《劳动合同法》第82条",
"赔偿类型": "双倍工资差额",
"应赔月数": 5,
"计算公式": "月工资 × 应赔月数",
"备注": "自用工之日起满1年仍未订立的,视为已订立无固定期限劳动合同"
}
代码说明:
①该函数实现了第82条的核心逻辑——用工>1月未签合同需付双倍工资
②内置了30天为1个月的法条计算标准
③自动计算最多11个月的赔偿上限(满1年转无固定期限合同)
④返回结构化数据,可直接用于仲裁计算
注意:实际weiquan时建议用new Date().toLocaleDateString()保存证据日期
六、正确姿势
kotlin
fun 接Offer的正确姿势() {
val 书面Offer = requireNotNull(公司.发Offer())
书面Offer.签字盖章()
书面Offer.自己留存副本()
// 不要这样做!
val 口头Offer = 老板.甜言蜜语()
口头Offer?.执行() // 这里永远为null
}
合规声明(码农适配款)
text
/*
* 本代码仅供参考,实际weiquan请找真人律师
* 以下行为已经超出了作者的负责范围:
* - 把本代码拍HR脸上
* - 在仲裁庭背诵代码
* - 用console.log()打印判决书
* 本文可自由转载,不过转载记得保留本注释+标注:本手册不能代替律师,但能让你成为法务部最靓的崽
*/
附:实务中劳动领域三大实话——
口头承诺 != 书面合同
微xin聊天 != 正式协议
"原则上" == "实际上不"
记住了,你的劳动力是const不是var,别让人随便重写!
扫码关注获取更多求生技巧,让你的职场不再throw new Error()👇