본문 바로가기

Programming24

DOM - [Javascript 입문 _10] 이번 포스팅에서는 DOM에 대해서 다뤄보도록 하겠습니다. 1. DOM이란 우리가 보는 웹 페이지는 하나의 문서(document)입니다. 인터넷이 국내에서 지금처럼 누구나 사용하던 것이 아니던 1990년대에 쓰던 웹페이지를 보면 더욱 이 문장이 실감납니다. 위에 첨부한 네이버의 화면도 이미지가 조금 있지만, 더 초창기 인터넷 세계로 들어가면 텍스트로만 이루어진 화면을 볼 수 있습니다. 이처럼 웹 페이지 문서는 보통 HTML로 작성되어 있고, 크롬이나 인터넷 익스플로러와같은 웹 브라우저를 통해서 그 내용이 해석되어 웹 브라우저 화면에 나타나거나, HTML 소스 자체로 나타나기도 합니다. 여기서 동일한 문서를 사용해서 이렇게 다른 형태로 나타날 수 있는 것은 DOM이라는 존재 덕분입니다. DOM은 문서를 표현.. 2020. 4. 19.
backtick(`) 기호를 이용한 javascript 템플릿 리터럴(template literal)로 쉽게 만드는 문자열 가끔 다른 사람이 작성한 코드를 보다보면 헷갈리는 기호가 있습니다. 저는 보통 공부를 위해서 책을 사서 코드를 따라치는 경우에 책과 다른 결과를 얻게 되는 경우가 종종 있었고, 그 때마다 이 backtick(`) 기호가 원인이었습니다. 작은 따옴표(', single quote)와 매우 비슷하게 생겼지만 javascript에선 특이한 프로그래밍 문법으로 사용되는 기호입니다. 영어 사전에도 backtick을 검색해보면 프로그래밍에 사용되는 기호라고 설명되어있을 만큼 정말 개발자를 위한 기호라고도 볼 수 있습니다. (다양한 언어 문자를 표현할 때도 사용됩니다) 얼마나 구분히 안가는지 직접 확인해보면 편하겠죠? "큰 따옴표를 사용한 문자열" '작은 따옴표를 사용한 문자열' `백틱으로 작성한 문자열` 음... 블.. 2020. 4. 16.
반복문 for, while, forEach, map - [Javascript 입문 _9] 이번 포스팅은 반복문에 대해서 이야기해보려고 합니다. 친구들이랑 얘기하다보면, 혹은 인터넷 커뮤니티 글들을 보다보면 공대 출신 혹은 프로그래머 출신들이 종종 '무한 루프'라는 단어를 사용하는 것을 볼 수 있습니다. 여기서 루프는 고리, 고리로 만들다 라는 의미를 가지고 있죠. 프로그래밍 세계에서 루프는 어떤 일련의 과정의 반복과 순환을 의미합니다. 그래서 무한 루프에 빠졌다라는 말은 반복문에서 벗어나지 못해서 프로그램이 에러가 났다라고 해석할 수 있습니다. 우리의 일상 생활 속에도 반복이라는 개념은 정말 많은 곳에 존재하고 있습니다. 예를 들어볼까요? ✏️To Muko 🗓Muko@tistory.com 안녕하세요, muko님. 티스토리 블로그입니다. muko님의 블로그에 너무나도 좋은 IT 교육 자료가 많.. 2020. 4. 15.
'숫자 야구게임 만들기' 토이 프로젝트(2) - [Javascript 입문 _8] 저번 포스팅에서 보여주는 부분은 완성했지만, 숫자 야구게임을 완성시키기는 다음과 같은 5가지 함수를 구현해야 했습니다. 제출 숫자는 4자리 체크 숫자 중복 체크 정답인지 아닌지 체크 힌트 제공 함수 정답 시도 횟수 10번 이내인지 체크 지금부터 하나씩 구현해보도록 해보죠! 4자리 체크 함수 우선은 사용자가 입력한 숫자가 4자리인지 체크하는 함수를 만들어보겠습니다. 현재 제가 숫자 야구게임 1편에서 작성한 javascript 코드에는 입력한 숫자가 String으로 넘어오게끔 되어있습니다. 만약 숫자라면 1000이상 10000미만 인지 체크하는 조건문을 사용하면 되고, 지금과 같은 상황이면 length가 4인지 체크하면 됩니다. 아래 코드처럼요! const isFourDigits = (number) => {.. 2020. 4. 12.
'숫자 야구게임 만들기' 토이 프로젝트(1) - [Javascript 입문 _8] 이번 시간에는 흔히들 수업시간에 공부하기 싫어서, 지하철이나 버스타면서 친구와 장난칠 때, 군대에서 시간 보내기 용으로 많이하던 숫자 야구게임을 만들어보겠습니다. 숫자 야구 게임이 무엇인지 모르는 분들을 위해 설명하면, 문제 출제자가 4자리 수의 숫자를 생각하고 다른 한 사람이 그 숫자를 10번의 기회 안에서 맞춰야 합니다. 다만 아무런 힌트가 없다면 10번 안에 문제 출제자가 생각한 4자리 숫자를 맞추는 것이 불가능하므로, 출제자는 답을 맞추려는 시도 때마다 힌트를 넘겨주어야 합니다. 게임 이름이 숫자 야구게임인 이유는 힌트를 주는 형식 때문입니다. 정확하게 숫자와 자리수까지 일치할 경우 스트라이크(S), 숫자는 존재하는데 위치가 다를 경우 볼(B)을 넘겨줍니다. 예를 들어볼게요. 출제자: 5329 참.. 2020. 4. 12.
'클리커 게임(Clicker)' 토이 프로젝트 - [Javascript 입문 _7] 벌써 글 순서가 7번까지 왔습니다. 여기까지 따라오시느라 고생하셨습니다. 이번에는 단순히 이론을 공부하면서 코드를 따라치는 것을 넘어서 실제로 간단한 프로그램을 만들어보려고 합니다. 1장에서 설명드렸었던 홈페이지에서 구현하는 것도 방법이지만, 프로젝트를 진행하는 만큼 실제 개발자들이 많이 사용하는 프로그램 위에서 코드를 작성해봅시다. 이 글을 잘 따라오시면, 우리도 카페에 앉아서 개발자 티를 내는 것이 가능합니다. 이번 토이 프로젝트 주제는 클리커 게임(Clicker) 입니다. 여기에 필요한 이론은 이전 포스팅에서 설명했으니 목차를 보시고 생소하거나 잘 모르겠다는 주제가 있으면 한 번 검토하시고 계속해서 글을 읽어주시기 바랍니다. [JavaScript 입문] 1. 시작, 그리고 변수와 상수, 자료형 [J.. 2020. 4. 9.
조건문 if, switch case - [Javascript 입문 _6] 8. 조건문 우리는 살면서 많은 선택을 하게 됩니다. 프로그래밍 또한 마찬가지 입니다. 코드를 작성하면서 조건에 따라 진행하는 과정이 달라지게끔 구현해야하는 경우가 많습니다. 이럴 때 프로그래밍에서는 조건문이라는 문법을 사용합니다. 자바스크립트에서 조건문은 크게 세가지 입니다. if, else if, else switch, case ? (삼항 연산자) 하나씩 살펴보도록 하겠습니다. 8-1. if와 else if문은 if ( 조건... )과 같은 형식으로 사용합니다. 괄호 안에 들어있는 조건을 평가한 뒤에, 그 결과를 불린형으로 변환한 값이 true이면 그 뒤에 중괄호 안에 코드를 실행하고, false이면 실행하지 않습니다. 선택지가 true일 경우와 false일 경우 두 갈래로 나뉘는 거죠. 불린형으로의.. 2020. 4. 8.
불리언(boolean)과 연산자 - [Javascript 입문 _5] 6. 불리언(boolean) 자바스크립트 뿐만 아니라 프로그래밍 언어에는 참을 의미하는 true와 거짓을 의미하는 false라는 값이 존재합니다. - false를 의미하는 값들(falsy value) undefined null 0 -0 NaN false "" '' 여기서 NaN은 잘못된 숫자 연산을 했을 때 반환되는 값입니다. - true를 의미하는 값들(truthy value) 위에 명시된 값들을 제외한 모든 값입니다. 아래의 5가지의 예시 또한 true를 의미합니다. '0' (0을 포함하는 문자열) 'false' (false를 포함하는 문자열) [] (빈 배열) {} (빈 객체) function() {} (빈 함수) 자바스크립트에서 이러한 falsy value와 truthy value를 boolean.. 2020. 4. 5.
함수, 화살표 함수 - [JavaScript 입문 _4] 이번 시간에 공부할 내용은 함수입니다. 내용이 이해가 안될 수 있으나, 절대 좌절하지 마시고 '이런 개념이 있구나~ 무슨 말인지는 모르겠다!' 하고 넘어가셔도 좋습니다. 키워드만 기억하시고, 추후에 연습할 수 있는 코드를 올릴테니 차례대로 따라오면서 익히시다보면 '아~ 그 때 봤던 설명이 이런 내용이었구나!'라고 이해하시는 순간이 오실겁니다. 어렵다고 포기하지 마세요! 5. 함수 함수는 특정 코드를 하나의 명령으로 실행할 수 있게 해주는 기능입니다. 변수도 하나의 이름에 하나 혹은 여러개의 데이터를 넣을 수 있듯이, 함수 또한 여러줄의 코드를 함수의 이름 하나만 적어도 실행할 수 있게해주는 세탁기의 버튼같은 기능입니다. 위의 사진에서 세탁기를 돌리는데 6가지 모션이 있다고 홍보하는 사진입니다. 우리가 이.. 2020. 4. 4.
배열 - [JavaScript 입문 _3] 4. 배열 객체는 한 변수 혹은 상수에 여러가지 정보를 담기 위한 자료형이라고 말씀드렸습니다. 그런데 위에 설명한 객체와는 다른 방식으로 여러가지 정보를 담을 수 있는배열, 그리고 특정 동작을 수행하는함수도 객체입니다. 이번 파트에서는 배열에 대해서 알아보겠습니다. const array = [1, 2, 3, 'test', {sample: 'code'}]; const emptyArray = []; 배열은 [ ] 로 감싸서 데이터를 표현합니다. 이 배열안에는 어떠한 자료형도 다 들어갈 수 있습니다. 다른 프로그래밍 언어를 먼저 배우신 분들은 이러한 배열의 모습이 너무나도 생소할 텐데요, 자바스크립트에서 배열의 특징은 배열의 길이를 미리 정할 필요가 없다는 점, 그리고 함수 또한 배열의 요소로 넣을 수 있다는.. 2020. 4. 3.
객체(Object) - [JavaScript 입문 _2] 3. 객체 (Object) 이전 시간에 배웠던 변수는 데이터를 저장할 수 있는 공간이고, 이 데이터는 계속해서 바뀔 수 있는 값이라고 설명했었습니다. 그리고 그 값으로 들어올 수 있는 자료형에 대해서 알아보았습니다. 그런데 말입니다... 만약에 변수에 저장하는 값이 하나가 아니라 복합적으로 여러개를 가지게끔 하고 싶다면 어떻게 해야할까요? 예를들어 이번에 새로나온 갤럭시 z 플립을 데이터로 저장하고 싶다면? 위의 사진에서와 같이 z플립 하나만 해도 여러가지 정보가 포함되어 있습니다. 이 것을 일일히 변수를 만들어서 값을 대입하는 형식으로 하면, z플립 하나를 호출하기 위해서 찾아야하는 변수가 너무 많겠죠? 이럴 때 유용하게 쓰이는 것이 바로 객체입니다. 객체는 우리가 변수 혹은 상수를 이용해서 하나의 이.. 2020. 4. 3.
시작, 변수와 상수, 자료형 - [JavaScript 입문 _1] 0. JavaScript? JavaScript는 웹 브라우저에서 사용하기 위해 만들어진 프로그래밍 언어입니다. 웹 초창기에는 글자와 사진으로만 이루어진 정적인 문서만(위키피디아와 같은 화면)을 보여주는 것이 대부분이었지만, JavaScript를 사용하면 동적인 화면을 만들 수 있었기에 많은 인기를 얻었습니다. 한국어, 영어와 같이 사람의 말에는 표준말이라는 것으로 언어별로 정식 문법과 같은 것을 정리하고는 합니다. 프로그래밍 언어 또한 마찬가지입니다. 다만, 프로그래밍 언어를 사용하는 사람들이 대부분 IT 회사에 속해있고 JavaScript는 그래서 오랫동안 전 세계 공통으로 사용될 수 있는 표준말이 없었습니다. 이는 MicroSoft 사의 Internet Explorer와 Google의 Chrome, .. 2020. 4. 2.