typeof typeof는 원시타입을 검사하는 거임. console.log(typeof 15); console.log(typeof NaN); console.log(typeof 'hello'); console.log(typeof null); console.log(typeof undefined); 참고로 NaN도 원시타입 상에서는 number임. hello는 string이고, null은 오브젝트임. undefind는 undefined임. 프론트엔드-코드/Javascript 2023.09.15
isNaN() 숫자인지 아닌지 여부 let n = Number('x'); console.log(n); console.log(isNaN(n)); 애초에 근데 Number(숫자아닌거) 하면 NaN으로 반환하긴 함. console.log(isNaN('X')); console.log(isNaN('15')); console.log(isNaN(15)); console.log(isNaN('a15')); 참고로 '15'라도 문자열 안에 숫자만 있으면 숫자로 인식 하는 듯. 이거 쓰는 이유는, 예를 들어 'x' === NaN 이렇게 하면 false임. 왜냐하면 NaN 타입이 아니기 때문. 그래서 isNaN()으로 숫자와 숫자 이외 명확히 구분해 주는거임. 참고로, console.log( 15 instanceof Number); 이건 당연히 15는 원시타입.. 프론트엔드-코드/Javascript 2023.09.15
Math클래스 소수 console.log(Math.ceil(5.1)); console.log(Math.ceil(5.6)); 올림 console.log(Math.floor(5.1)); console.log(Math.floor(5.6)); 내림 console.log(Math.round(5.1)); console.log(Math.round(5.6)); 반올림 console.log((1231.12312412).toFixed(2)); 소수점 둘째자리 까지만. 0도 가능. 기하학 그림 그릴 때 필요할 수도 있음.. 프론트엔드-코드/Javascript 2023.09.14
toString()으로 여러 진법으로 변환 let num = 10; console.log(num.toString(2)); 2진수로 나옴. 매직넘버 하려면 괄호로 감싸고 toString 하면 됨. 프론트엔드-코드/Javascript 2023.09.14
Symbol 고유한 값을 가지고 싶을 때? 사용한다고 한다. UUID 같은 건가? 예를 들면 DB에 id(로그인 아이디 말고)를 0, 1, 2 이런 거 대신 Symbol로 저장해주는 뭐 그렇게도 사용하기도 하나 봄. const id = Symbol('id'); const id2 = Symbol('id'); console.log( id.description ); 생성할 때 안에 넣는 건 description, 설명임. id라고 나옴. Symbol이 생성한 임의의 값좀 볼려고 했더니toString해도 숨겨져 있다. 보안때문에 보지 못하도록 막아놨다. 같은 심볼을 공유하게끔도 할 수 있다. const id1 = Symbol.for('id'); const id2 = Symbol.for('id'); console.log(id.. 프론트엔드-코드/Javascript 2023.09.14
객체 메소드 (객체 <-> 배열 변환 등등등) const userProperty1 = makeObj('name', 'jone'); const userProperty2 = makeObj('age', 40); const user = Object.assign({},userProperty1, userProperty2); console.log(user); function makeObj(key, value){ return { [key] : value } } Object.assign((넣을곳), 합칠객체1,합칠객체2, 3, 4.... ) 이러면 객체가 합쳐져서 return 됨 참고로, Object.assign(userProperty1, userProperty2); console.log(userProperty1); 이렇게 하면 userProperty1안쪽으로 넣어.. 프론트엔드-코드/Javascript 2023.09.13
자바스크립트로 enum 구현 const ViewMode = { UNSET : 0, WIDTH_LARGE : 1, WIDTH_SMALL : 2 } Object.freeze(ViewMode); 이렇게 객체로 구현시킨 다음에, Object.freeze로 상수화 시켜주면 됨. 프론트엔드-코드/Javascript 2023.09.13
LocalStorage 브라우저에서 제공하는 클라이언트의 컴퓨터에 데이터를 저장할 수 있는 저장소이다. localStorage.getItem(key); localStorage.setItem(key, value); localStorage.removeItem(key); localStorage.clear(); clear()는 모두 지우는 것이다. LocalStorage는 쿠키보다 많은 용량, 그리고 문자열 뿐만 아니라 객체와 원시타입도 저장할 수 있다. LocalStorage는 사용자의 개인정보말고 . 아무래도 쿠키도 그렇고 이것도 그렇고 보안에 민감하다. 사용성을 위한 저장이나, 로그인 정보도 여기에 저장하려는 사람이 있기는 있다. 한다면 패스워드는 해시화 해서 저장하려나. 서버에서도 같은 해시 쓰고. 서버에서 패스워드는 해시값으.. 프론트엔드-코드/Javascript 2023.09.12
우클릭 막기 const $img = document.querySelector('img'); $img.addEventListener('contextmenu',(e)=>{ e.preventDefault(); }); prevent가 막다. 라는 뜻임. contextmenu에 관한 이벤트가 넘어오고, 그것의 기본을 막으라는 것이니, 콘텍스트메뉴가 나오지 않음. 프론트엔드-코드/Javascript 2023.09.12