반응형

자바스크립트 4

자바스크립트 socket.io 채팅으로 초성게임 만들기 #3 중복과 턴

단어입력은 되지만 한 사람이 여러번 입력이 가능하고 중복단어가 되는 문제가 있었습니다 이 기능을 추가하기 위해 데이터 베이스가 있으면 좋지만 그럼 너무 커지기 때문에 오로지 서버에서만 데이터를 관리하도록 하겠습니다 계속 진행을 하다보니 클라이언트에서 socket.id가 메세지를 보낼때 마다 바뀌는 문제를 발견해서 처음 접속을 했을때만 소켓아이디를 사용하도록 하겠습니다 중복방지 중복을 방지하는 것을 쉽게 가능합니다 App.js에서 word 를 담는 list가 있었는데 onValid 함수 안에 if (checkedWord === word) { if (list.find((w) => w === wordInput)) { alert("중복단어입니다"); return; } } 인풋 함수에서 배열.find 함수를 써서..

자바스크립트 socket.io 채팅으로 초성게임 만들기 #2 게임기능

이번에 추가할 내용을 server.js랑 App.js를 나눠서 정리해보면 server.js Map → mdn const userSocketIdMap = new Map(); const wordMap = new Map(); 배열말고 map을 사용해서 데이터를 저장해줄겁니다 데이터베이스에다가 하면 더 편하고 쉬울텐데 너무 커질까바 서버에서만 데이터 저장합니다 socket io.on("connection", (socket) => { socket.on("join", (userId) => { if (userSocketIdMap.size === 0) { userSocketIdMap.set("user1", userId); io.emit("join", `hi user1 ${userId}`); } else { userSo..

[자바스크립트] class 클래스 선언과 사용, extends 와 super

JavaScript Class의 특징들은 다음과 같다 1. 기존 라이브러리에 class를 가져다가 쓰는경우가 대다수 이다 2. class를 사용하면 재사용이 용이하다(선언만 하면 같은걸 여러번 생성이 가능) 3. 클래스는 더 좋은 객체 처럼 생겼다 class 선언 선언은 세가지 방법이 있다 class MySelf { constructor(age, height) { this.age = age; this.height = height; } } 바로 클래스를 선언 const MySelf = class MySelf { constructor(age, height) { this.age = age; this.height = height; } } 변수에 클래스를 선언 const MySelf = class { constr..

[자바스크립트] 변수선언 자바스크립트 변수 정리

변수는 쉽게 말해서 데이터를 나중에 쓰기 위해 컴퓨터에 a=3이라고 알려주는 것이다. c언어나 java에서는 int나 float, char... 자료형을 함께 선언하지만 JavaScript 에서는 var, const, let 으로 선언합니다. 예를 들면 c언어는 int num = 10; //숫자 char line = "C"; //문자열 이런식으로 자료형을 같이 써준다. JavaScript var num = 10; //숫자 const line = "JavaScript"; //문자열 let array = []; //배열 자바스크립트는 변수선언으로 var, const, let 이 있다 var은 예전부터 있었지만 단점때문인지 let, const 가 es2015에 새롭게 추가되었다 자바스크립트에서 자료형은 뒤에만..