반응형

개발/Javascript 3

자바스크립트 for, while label

자바스크립트에의 반복문에도 label 기능이 있다. a:for(let i = 0; i < 4; i++) b:for(let j = 0; j < 4; j++) { if(i === j && i === 1) continue a; console.log(i, j); } let i = 0; a:while(true) { console.log("J"); b:while(true) { if(i === 10) break a; console.log(i); i++; } } continue 또는 break 뒤에 반복문의 label 이름을 붙여, 해당 반복문 바로 아래에서 break 또는 continue를 쓴 것과 같은 효과를 낼 수 있다.

개발/Javascript 2021.02.05

자바스크립트 큰 숫자 편하게 표기하는 법

큰 숫자를 표시할 때 콤마가 안 찍혀 있으면 읽기 힘들다. JS에서는 콤마 대신 언더스코어를 이용해 숫자를 예쁘게 표기할 수 있다. console.log(1_000_000); // 백만 console.log(1_0000_0000); // 1억 console.log(1_23_456); // 간격이 달라도 상관없다 console.log(0b0011_0110); // 다른 진수도 작동된다 console.log(1_1.5_5); // 소수부분에도 쓸 수 있다 원하는 숫자 사이에 언더스코어를 하나씩 껴넣어 주면 끝이다. 백 단위로 끊는 대신 천 단위로 끊을 수도 있다. 그냥 마음대로 끊어도 된다. 1_0000_0000_0000_0000_0000_0000n // 1자(秭) 물론 BigInt를 표기할 때에도 사용할 ..

개발/Javascript 2021.01.04

JSFuck 원리

자바스크립트를 다뤄본 사람이라면, 특히 주변에 JS를 사용하는 사람이 있다면 이것을 들어 본 적이 있을 것이다. "JSFuck" JSFuck - Write any JavaScript with 6 Characters: []()!+ www.jsfuck.com 주로 JS를 까는(...)용도로 인용당하는데, ()+[]! 이 여섯 문자만 가지고 자바스크립트에서 할 수 있는 모든 일을 할 수 있다는 점에서 까이곤 한다. 뭐 저런 해괴한 언어가 다 있냐는둥... [][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+[]]]+[])[!..

개발/Javascript 2020.11.28
반응형