语言或多或少都有坑。
// 像 Javascript 不小心把字符串和数值加在一起 alert("1"+2); // "12" # python 里,把字符串和数值加在一起会报 TypeError,避开了这个坑 # 但是... def fn(x, L=[]): L.append(x) return L print(fn(1)) # [1] print(fn(7)) # [1, 7] print(fn(13)) # [1, 7, 13] // 而 Javascript (ES6) 没有上面那个坑 function fn(x, L=[]){ L.push(x); return L.toString(); } console.log(fn(1)) // "1" console.log(fn(7)) // "7" console.log(fn(13)) // "13" 想了想 Javascript, python 都是脚本,那考虑 C语言,又发现 C语言变量声明时未赋初值 就拿来使用会跑出随机的垃圾值,反而 python 中的变量不需要声明(或者说,赋值的同时也声明了)避开了这个坑。
既然语言或多或少都有坑,那就有多寡的差别。各位同学接触过(或听过)的语言坑最少的是哪个?


