5
undefined에서 비트 연산자의 논리는 무엇입니까 ???JavaScript 비트 단위 정의되지 않은 함정?
var x;
console.log(x); // undefined
console.log(x^7); // 7
console.log(7^x); // 7
console.log(x|7); // 7
console.log(7|x); // 7
console.log(7&x); // 0
console.log(x&7); // 0
console.log(~x); // -1
console.log(x*2); // NaN
console.log(x/2); // NaN
console.log(x+2); // NaN
console.log(x-2); // NaN
나는 NaN에서 어떤 감각을 볼 수 있습니다. undefined -2는 실제로 '숫자가 아닙니다.' 그러나 나는 비트 연산자에 대한 논리를 따르지 않으며 정의되지 않는다.
비트 연산은 정수에 의미를, 그래서 인수가 자동으로 해당 유형 강제 변환되는
는참고. – Barmar
예, 나는 그것이 의미있는 오류나 뭔가를 던질 것으로 예상했습니다. 그 침묵하는 강제는 나의 코드에서 무한 루프를 만들었다. – CoR