프론트엔드-코드/Javascript 93

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는 원시타입..

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..

객체 메소드 (객체 <-> 배열 변환 등등등)

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안쪽으로 넣어..

LocalStorage

브라우저에서 제공하는 클라이언트의 컴퓨터에 데이터를 저장할 수 있는 저장소이다. localStorage.getItem(key); localStorage.setItem(key, value); localStorage.removeItem(key); localStorage.clear(); clear()는 모두 지우는 것이다. LocalStorage는 쿠키보다 많은 용량, 그리고 문자열 뿐만 아니라 객체와 원시타입도 저장할 수 있다. LocalStorage는 사용자의 개인정보말고 . 아무래도 쿠키도 그렇고 이것도 그렇고 보안에 민감하다. 사용성을 위한 저장이나, 로그인 정보도 여기에 저장하려는 사람이 있기는 있다. 한다면 패스워드는 해시화 해서 저장하려나. 서버에서도 같은 해시 쓰고. 서버에서 패스워드는 해시값으..