변수란?뜻 그대로 해석하자면 '변할 수 있는 값'이고,단 하나의 값을 저장할 수 있는 메모리 공간이다.프로그래밍은 데이터 처리하는 것과 동일하다.데이터를 위한 보관함 (메모리)이 있다면 이 메모리의 이름이 '변수'이다. 우리는 이름을 통해 데이터를 사용할 수 있다. 보
조건문은 어떠한 조건을 판별하는 기준을 만드는 것이다. 조건문에는 반드시 비교연산자(comparison operator)가 들어가게 되니 다양한 연산자들부터 알아보자 연산자 연산자를 사용하면 표현식을 조합하여 더욱 복잡한 표현식을 만들어 낼 수 있다. a +
문자열 > 자바스크립트에는 별도의 자료형이 없기 때문에 텍스트 형식 데이터들은 길이 상관없이 문자열 형태로 저장된다.!! str1과 str2를 let으로 선언해주고 문자열을 할당할 때 작은따옴표('), 큰따옴표(") 둘 다 사용할 수 있다. 1. 문자열의 특징
if문 - else절 > if(조건식)문은 괄호에 들어가는 조건을 평가해서 참(true)일 경우에 코드 블록이 실행된다. if문에 else절을 붙일 수 있는데, else절 뒤에 이어지는 코드 블록은 조건이 거짓(false)일 때 실행된다. else절은 선택 사항이며,
템플릿 리터럴은 ECMAScript 6부터 추가된 문자열 표현으로 사용하면 표현식의 값을 문자열에 추가하거나 여러 줄의 문자열을 나타낼 수 있다. 템플릿 리터럴 사용법은 간단하다. 백틱(\`)을 써서 문자열로 나타내 줄 수 있다.그래서 언뜻보면 작은 따옴표(')로 묶인
반복문은 같거나 비슷한 코드를 여러번 실행시켜야 할 경우에 쓴다. 위 코드의 반복되는 부분을 반복문을 써서 바꿔줄 수 있다. 이때 반복되는 특정 패턴을 찾는게 중요하다. 조건을 만들어보면 세가지로 추론해볼 수 있다. 1) sum에 더해지는 숫자(n)은 2부터 시작한
1. 배열 배열은 대량의 정보를 보관하고 관리하기 유용하다. 배열은 순서가 있는 값이다. 배열 선언 > 대괄호(square bracket)을 이용해서 배열을 만들고 각각의 원소(element)는 쉼표(comma)로 구분한다. 배열은 순서가 있는 값이라고 했는데 순
객체는 왜 쓸까? 회원 주소록을 만들어본다고 가정해볼때 한사람에 정보에 이름, 이메일, 사는 지역 등을 필요하다. 만약 다른 한사람이 추가 되었다고 한다면 user2FirstName, user2LastName ...으로 변수를 따로 선언해서 정보를 넣어줘야 할까??
자바스크립트에는 원시 타입과 참조 타입 2가지 자료형이 있다. 타입을 알아보기 전에 메모리 구조에 대해 짧게 얘기하고 넘어가야 이해가 더 쉽다. JS 메모리 주소 공간 프로그램이 실행될 때 자바스크립트 엔진(V8)은 세 개의 메모리 공간을 가진다. Code Ar
컴퓨터공학, 그리고 자바스크립트에서의 스코프도 "범위"의 의미를 가지고 있다. 다만, 조금 더 좁은 의미로 "변수의 유효범위"로 사용된다. 변수와 그 값이 어디서부터 어디까지 유효한지를 판단하는 범위 JS는 기본적으로 함수가 선언되는 동시에 자신만의 Scope를 가진
다양한 Math() 메소드
ES6부터 let, const가 새로 등장했다. var와 어떤 차이가 있는지 살펴보자 var 와 let 키워드의 차이 var와 let 둘 다 변수를 정의하는 키워드이다. 둘의 가장 큰 차이는 유효 범위라고 볼 수 있다. javascript는 기본적으로 함
for ... in 반복문 Object의 enumerable한 non-Symbol key(속성)들을 반복하는데 사용된다. enumerable : '열거가능한'이란 뜻으로 자바스크립트의 객체 속성 중 하나이다. for in은 열거 가능한 값이 true로 설정되어 있어
일급객체(First-class citizen) first-class citizen이란 자유롭게 거주하고 일 할 수 있고, 출입국의 자유를 가지며, 투표의 자유를 가지는 시민을 의미한다. 자바스크립트에서도 특별한 대우를 받는 것들이 있는데 이런 것들을 일급 객체(f
동기(Syncronous) VS 비동기(Asynchronous) 동기와 비동기의 큰 차이는 실행순서에 있다. 동기 호출 요청을 보낸 후 해당 요청의 응답을 받아야 다음 동작을 실행한다. 즉, 요청에 대한 결과가 동시에 일어난다. (blocking) 비동기 호출 요청을
setTimeout(callback, millisecond) 일정 시간 후에 함수를 실행 arguments: 실행할 callback 함수, callback 함수 실행 전 기다려야 할 시간 (밀리초) return value: 임의의 타이머 ID setTimeout(fu
sort() 정렬 정렬하는 방법은 아주 자주 쓰인다.. 그래서 꼭 이해하기. 다만 지금은 array.sort() 메서드를 사용한다. +1, -1, 0 을 나눌때에 따라 정렬이 어떻게 된다. 문자열일때 비교 비교
이제껏 함수 표현식이나 선언식으로 쓰는게 익숙했는데, 화살표 함수 쓰는 버릇을 들여야겠다. 화살표 함수란? 화살표 함수(arrow function)는 function 키워드를 화살표로 축약해서 표시하는 함수를 표시하는 다른 방법이다. ES6에서 새로 도입되었다. 함수
Syntax sugar(문법적 설탕)은 문법적 기능은 그대로지만 직관적으로 쉽게 코드를 짤 수 있는 것을 말한다. spread syntax나 Rest parameter도 Syntax sugar라 여길 수 있다. spread syntax 해석하면 전개문법 주로 배열을
mdn 구조분해 할당을 참고하여 정리했습니다. 구조 분해 할당은 spread문법을 써서 배열이나 객체의 속성을 해체해 개별 값을 변수에 할당하는 표현식이다.구조 분해 할당은 할당문을 좌변두고, 원래 변수에서 어떤 값을 분해해 할당할지 정의한다. 변수 x 배열에서 할당되
프로그래밍 언어의 유형 > 절차적 언어, 객체 지향 언어, 함수형 언어, 논리형 언어 등이 있다. 절차적 언어(procedural Language) 는 말 그대로 절차를 순서대로 작성해 나가는 언어로 C, 포트 등 초기 프로그래밍 언어의 특징이다. 장점 복잡도가 지나
OOP란 개념을 배웠는데 자바스크립트에서는 OOP를 어떻게 구현할 수 있는지 알아보자. 자바스크립트는 클래스란 개념이 없어 프로토타입이란 매커니즘을 통해 OOP를 구현할 수 있다. 이 프로토타입 중에서도 상속을 통한 프로토타입 체인이란 개념이 중요하다. 프로토타입(p
findIndex(), flat(), fill()
비동기 호출 포스팅에서 callback함수로 순차적 비동기 호출을 구현 할 때 콜백 지옥이란 문제점이 존재하며, 콜백 지옥을 개선하기 위한 방식이 있다고 했었다. Promise가 콜백 지옥을 타파하고 비동기 작업을 하기위해 ES6부터 도입된 방식이다. Achie
async / await 에러처리는 try-catch로 많이 처리한다. try-catch 특징 : try안에 있는 것들을 실행하다가 에러가 발생하면 뒤에 것 실행안하고 catch로 넘어간다. function myfunc = (err) => { console.log(
dynamic web page의 등장 초기 웹은 form 태그의 데이터를 서버에 전송하고, 서버에서는 새로운 페이지를 보내줬다. 새로운 페이지 전부를 로딩함으로 페이지 깜빡임 현상이 있었다. 현대 웹은 app과 같은 사용성(빠른 로딩)을 위해 필요한 부분만 부분적으
JSON(Javascript Object Notation)이란? 서버에서 클라이언트로 데이터를 보낼 때 사용하는 양식이다. 클라이언트가 사용하는 언어에 상관없이 통일된 데이터를 주고 받을 수 있도록 만들어진 텍스트 기반의 데이터 교환 표준이다. 자바스크립트 객체에