const a = 1234; if(a !== 0){ console.log(a); // 1234 }
if문을
&&
로 대체해서 사용할 수 있다.const a = 1234; a === 0 && console.log(a) // 1234
false && 처리할 내용 // 오른쪽 값과 상관없이 false true && 처리할 내용 // 왼쪽 값만으로 결과를 알 수 없어 오른쪽 내용 실행 true || 처리할 내용 // 오른쪽 값과 상관없이 true false || 처리할 내용 // 왼쪽 값만으로 결과를 알 수 없어 오른쪽 내용 실행
기본적으로
Math.ceil()
,Math.floor()
,Math.round()
,parseInt()
와 같이 정수로 변환하는 방법이 대표적이다.
아래와 같이 간단하게 소수를 정수로 변환할 수도 있다.const a = 12.3456; console.log(a|0); // 12
부동소수점 오른쪽에
|0
을 사용하면|
연산자가 좌우의 값을 자동으로 정수로 변환하여 비트or
연산을 하기 때문이다. 그래서 오른쪽의 값이0
이기 때문에 왼쪽항의 비트가 그대로 출력된다.
또 다른 방법이 있다.
const a = 12.3456; console.log(~~a); // 12
위 코드는
~
연산자가 정수를 비트반전 시키는 원리이다.~
를 두 번 사용하면 반전을 두 번 하기 때문에 정수 형태로 원래 부호값을 얻을 수 있다.
빈 문자열
""
,''
을 수치화하면 0으로 나타낼 수 있다.let i = ''; console.log(++i); // 1 i = ''; console.log(i++); // 0 i = ''; console.log(+i); // 0 i = ''; console.log(i); // 공백 출력
요소의 수가 하나인 배열, 즉 length가 1인 배열은 배열 이름만으로 해당 배열내 요소 값에 접근할 수 있다.
let arr = [1]; console.log(++arr); // 2 arr = [1]; console.log(arr++); // 1 arr = [1]; console.log(+arr); // 1 arr = [1]; console.log(arr); // [1]
배열에 요소가 없는 경우도 배열 이름으로 접근이 가능하다
let arr = []; console.log(++arr); // 1 arr = []; console.log(arr++); // 0 arr = []; console.log(+arr); // 0 arr = []; console.log(arr); // []