let은 재할당가능 const는 재할당이 불가능하다. 말그대로 상수를 뜻함.리액트 프로젝트에서 모듈(자바스크립트 파일들에 코드를 분할함)을 전역으로 내보내고 가져온다.내보낼 변수를 default로 설정할 수도 있고(unnamed),한 파일에 여러 변수를 내보내고 중괄호
typeof 연산자는 값(혹은 변수)의 타입을 알아보기 위해 사용하는 도구이다. 모든 데이터, 즉 값에는 타입이 존재하는데, 숫자, 문자열, 불리언, 배열, 객체, undefined, 함수 등 종류가 많다. 여기서 문자열은 'a' 작은따옴표(혹은 큰따옴표)로 표시한
조건문은 true false를 반환하여 주어진 조건에 따라 동작할 수 있도록 하는 것이다.분기점을 만들어서 true면 중괄호{} 내 동작을 실행, false면 다음 조건을 확인하고 true가 되는 조건을 찾아가 해당 동작을 실행한다.포인트는 false면 {한블록}을 패
조건문과 함께 쓰인다.조건문은 체망으로 거르는 것과 같다.반복횟수가 명확하다.반복횟수가 불명확하다.(+) 디버그하는법 debugger; 함수();의사코드를 활용하자.Math.floor() : 소수점버림.Math.sqrt() : 제곱근을 반환
배열: 순서(index)가 있는 요소(element)배열의 길이 반환배열의 끝에 값 추가배열 마지막 값 삭제typeof로 배열 조회시 object가 반환됨console.table(arr)배열을 테이블로 보여줌!배열 가장 앞의 값 삭제배열 가장 앞에 값을 추가하고 배열의
배열은 순서에 대한 정보(인덱스)를 가지고 있는 참조형 데이터타입.객체는 데이터에 의미를 부여함.(참조형 타입)키가 확정적일 때만 사용키가 유동적일 때 사용인덱스가 아닌 키를 이용해 비교해야 하기 때문에 반복문을 쓰기 까다롭다.키값들만 모아 배열을 반환함
원시자료형number, string, boolean, undefined, null변수에 value가 담긴다.데이터 공간 한칸에 하나의 데이터만 넣을 수 있다.참조자료형array, object, function데이터는 heap에 저장되고, 변수에는 보관함의 주소가 담긴다
전개 구문https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax배열을 풀어서 인자로 전달하거나 각각의 요소로 넣을 때 사용배열을 펼친다immutable배열에서
: 문자열과 숫자를 + 로 연산하면 문자열로서 나열: 문자열과 숫자를 -로 연산하면 숫자로서 계산객체가 아니면서 메서드를 가지지 않는 데이터string, number, bigint, boolean, undefined, symbol, (null)원시자료형은 immutab
자바스크립트는 입급 객체이다.(first class citizen)변수에 할당 가능다른 함수의 전달인자로서 전달 가능다른 함수의 결과로서 리턴 가능👉 함수를 데이터처럼 다룰 수 있다.함수표현식콜백함수: 다른 함수의 전달인자로 전달되는 함수함수를 인자로 받는 함수함수를
속성(property): 키-값 쌍을 의미함메서드 호출: 객체.메서드()클로저를 이용해 새로운 객체 생성클로저 모듈 패턴을 이용한다.변수를 함수 스코프에 가둬 노출시키지 않는다.객체지향 프로그래밍이란 청사진을 만들고 그것을 바탕으로 객체를 만드는 것객체지향 시점에서 청
모든것은 객체로 그룹화된다.이 객체는 한번 만들어놓으면 메모리상에서 반환되기 전까지 객체 내의 모든 것이 유지된다.클래스는 일종의 원형(original form)으로 객체를 생성하기 위한 청사진. 세부사항(속성)이 들어가지 않는다. 세부사항을 넣으면 객체가 된다.인스턴
자바스크립트에서 상속을 구현하기 위해서 프로토타입 체인을 사용한다. > https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/ClassesinJavaScript#ecmascript2015%ED%81%B4%EB
객체의 프로토타입을 반환객체의 정된 객체의 프로토타입 (즉, 내부 \[Prototype] 프로퍼티)을 다른 객체 또는 null 로 설정클래스의 인스턴스 객체를 생성하고 초기화하는 메서드constructor(속성1, 속성2, 속성3...){}다른 모든 메서드 호출보다 앞
다른 함수의 전달인자로 넘겨주는 함수반복실행하는 함수(iterator)이벤트에 따른 함수(event handler)tip함수 자체를 연결해야 하지, 함수를 실행하는 게 아니다.이 handleClick을 document.querySelector('했을때 아무일도 일어나지
API?Application Programming Interface컴퓨터나 컴퓨터 프로그램 사이의 연결. 일종의 소프트웨어 인터페이스이다.쉽게 말하자면'라이브러리를 쉽게 이용할 수 있도록 규칙을 정의해놓은 인터페이스' 이다.밀리초1초: 1000ms일정시간 후에 함수를
Node.js환경은 로컬 컴퓨터에서 직접 실행되므로 파일을 불러오거나 저장하는 등의 액션이 가능하다. fs는 파일열기, 저장하기 등을 구현할 수 있다.fs: file systemconst fs = require('fs') //파일 시스템 모듈을 불러온다.로컬에 존재하는
callback.js promiseConstructor.js basicChaining.js promiseAll asyncAwait.js
들어가기 전에JSON이란객체 리터럴 문법을 따른다. 문자열 형태로 존재한다. 웹 서버에서 데이터를 수신할 때 데이터는 항상 문자열이다!JSON.parse() : 인수로 전달받은(JSON형식의) 문자열을 자바스크립트 객체로 변환한다.res.json() : 데이터들을 자동
함수의 리턴값이 나오면서 연쇄적으로 문제가 해결되고, 최종적으로는 문제 전체가 해결된다.배열에서 첫번째 요소를 체거하고 제거된 요소를 반환한다.모든 재귀함수는 반복문으로 표현할 수 있다. 그러나 재귀를 적용할 수 있는 대부분의 경우 재귀를 적용한 코드가 훨 간결하고 쉽
자바스크립트에서의 비동기(asynchronous)란, 작업들이 순차적으로 실행되지 않고, 병렬적으로 실행될 수 있도록 하는 프로그래밍 방식을 말한다.기존의 동기적(synchronous) 프로그래밍 방식에서는, 작업 A가 완료되어야 작업 B가 시작되는 등 순서대로 실행되
클린코드 자바스크립트 강의를 보고 정리해보는 글.함수스코프를 가지고 있고, (함수 내부가 아니라면 블록 내부에서 선언되어도 전역변수가 되어버린다.)재선언과 재할당이 가능하기때문에 안정적으로 코드 작성하기 힘들다.그래서 const, let을 사용하는 것을 권장한다.con
타입 검사를 할 때 보통 사용하는 메서드는 typeof이다.그런데 typeof에는 한계가 있는데, 원시타입은 검사를 잘 해주는 편이지만 참조타입은 object로 퉁친다. 거기다 자바스크립트는 타입이 동적이기 때문에 제대로 타입 검사하 안되는 문제도 있다. 설상가상으로
변수명을 보고 의미를 파악하기 쉽도록 최소값, 최대값을 상수로 명시적으로 지정한다. MIN_AGE 이런식.이때, 경계값을 포함하는지 여부를 반드시 정리해야한다.경계값이 포함되는지, 되지 않는지 여부를 변수명에 포함시키면 더 좋다.숙박 어플을 쓰면 예약 시작날짜와 끝날짜
삼항연산자 Truthy & Falsy 단축평가 else If 지양 else 지양 Early return 부정조건문 지양 default case 명시적 연산자 사용 널 병합 연산자 드 모르간의 법칙
배열이라는 자료형이 있지만 결국 배열 또한 객체이다. prototype chain을 따라 가다보면 결국 객체를 만나게 된다. 배열인지를 확인하고 싶을 때 Array.isArray()를 활용하자. 객체처럼 취급되어 예상하지 못한 결과를 반환할 수 있다.Array.isAr
Shorthand property Computed property name Key-value data Object Destructuring Object.freeze Prototype 조작 지양 hasOwnProperty 직접 접근 지양 Optional c
함수, 메서드, 생성자 함수는 1급 객체이다. 변수, 데이터에 담길 수 있으며 매개변수로 전달이 가능하고(콜백) 함수가 함수를 반환할 수도 있다(고차함수) 메서드는 객체에 의존성이 있는 함수이다. OOP행동을 의미한다(?) <- 찾아볼것 생성자는 class 문법이 대체
사용시 숫자를 그대로 넣기보다 상수로 만들어서 흐름을 읽을 수 있도록 하자.하드코딩을 줄이고 명시적으로 나타낼 수 있도록 함.숫자가 커질수록 읽기 힘들어지고 헷갈린다.아래와 같이 사용 가능함.상수가 수정될까봐 걱정된다면 Object.freeze를 사용하는 것도 방법이다
유효성 검사 try-catch to. 사용자...
HTML Semantic Element NodeList innerHTML Data Attributes Black Box Event Listener
style guide