본문 바로가기

JavaScript/이론 및 용어8

음수의 나머지 계산법 음수를 모듈러 연산자 % 로 연산 할때는 음수에 나눌 숫자의 배수를 더해서 양수로 만들어 줘야한다 더해도 나눌 숫자의 배수를 더한거니 나머지의 값은 같기 때문에 걱정 안 할 필요는 없다 let ans = -3 mod 8; 위의 경우 나눌 수가 -3으로 음수이므로 나누는 숫자인 8의 배수를 아무거나 더해서 (1배수든... 2배수든...) 양수로 만들어 주자. 8의 1배수 8을 더해보자 let ans = (-3 + 8) mod 8; let ans = 5 mod 8; console.log(ans); // 5 위와 같은 방법으로 음수도 %모듈러 연산자로 연산 가능하다 모듈러의 음수를 해결해도 문제가 에러가 난다면, 큰 수를 처리하기 위한 BigInt 등의 사용도 고려해보자 2022. 9. 26.
JSON 이란? IDE 를 사용하다 JSON 파일을 여러번 마주하였지만 JSON 이 무엇인지 몰랐었는데 기회가 되어 정리해본다 JSON 이란 JavaScript Object Notation 즉, 자바스크립트 객체 표기법이다 서버와 클라이언트 간의 데이터 교환 시 사용하는 표기법이며 자바스크립트 객체 Javascript Object 와는 다르다 JSON 은 객체 표기법이지 객체가 아니다! JSON은 string 타입으로서 문자열이고 객체가 아니다 객체를 JSON 형식으로 만들기 위해서 JSON.stringify() 를 사용해서 JSON 형식의 문자열로 바꾸거나 JSON 형식의 문자열을 객체로 만들기 위해서 JSON.parse() 를 사용한다 객체가 JSON.stringify()로 JSON 문자열 형식으로 type 이 바뀌.. 2022. 9. 1.
모듈 사용 시 import 와 require 의 차이 코드의 크기가 커지면 코드를 기능별로 파일로 나누어 저장하고 불러와서 쓰게 되는데 이렇게 나누어진 파일들을 모듈 module 이라고 하며 나누는 것을 모듈화한다고 한다 모듈을 불러와서 사용할 때 Node.js (Common JS) 에서는 require 를 사용하고 const name = require('./namelist.js') ES6 (최신? 자바스크립트 표준 규격) 에서는 import 를 사용한다 import name from './namelist.js' 모듈로 설정할 파일을 만들고 데이터를 모듈로서 동작하도록 만들기 위해서 Node.js 의 경우엔 데이터를 module.exports 객체에 넣어주는데 ES6의 경우와 비교하면 모듈 파일 내의 데이터를 변수 별로 하나 하나 분리해서 내보내고자 할 때.. 2022. 9. 1.
객체의 키와 값에 접근하는 방법 이상하게 생각한게 있었다 객체의 key나 value 를 접근할때 for in 문을 사용해서 객체의 속성을 순회하며 배열로 받는데 객체명.keys() 으로 객체 속성 key 값에 접근 가능한 객체가 있는가 하면 Object.keys(객체명) 으로 접근 가능한 객체가 있었다 용도는 같지만 서로 사용처가 달라서 왜 그런지, 어쩔때 둘 중 하나를 써야하는지 몰라 애를 먹곤했다 결론부터 말하자면 객체를 순회하며 데이터를 배열로 반환하고자 할때, 특수한 객체인 Map , Set , Array (자료구조) 에서만 객체명.keys() , 객체명.values() , 객체명.entries() 로 사용한다 그 외의 일반 객체에서는 Object.keys(객체명) , Object.values(객체명) ,Object.entrie.. 2022. 8. 29.