일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 티스토리챌린지
- 시스템프로그래밍
- attribute
- 자바스크립트
- 블록체인강의
- national instruments
- html기초
- 블록체인
- StringBuilder
- 자바문자열구분
- 단국대학교 k-mooc
- 우선순위큐
- 딥러닝
- StringTokenizer
- 오블완
- stringreader
- K-MOOC 단국대학교 홍보단
- 블록체인 강의
- biginteger사용법
- K-MOOC
- 2차원배열정렬
- 해시
- 자바입력받기
- 컴파일시스템
- Entity
- CSS 기초
- Node
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- 머신러닝
- 디스크블록할당
- Today
- Total
목록개발 공부/JS (13)
열정 실천
📌 렉시컬 스코핑 (Lexical Scoping) 이란?? 렉시컬 스코핑은 동적 스코핑과 반대되는 정적 스코핑으로 쉽게 이해하면 된다. 함수가 호출되는 시점에 따라 상위 스코프를 결정하는 동적 스코핑과 달리 렉시컬 스코핑은 함수가 선언되는 시점에 상위 스코프를 결정한다. 다른 많은 프로그래밍 언어들처럼 자바스크립트도 이 '렉시컬 스코핑'을 따른다. 다음 코드를 보자 const name = "KOO" function print1(){ const name = "ROSS" console.log(name); print2(); // 함수 호출 위치 } function print2(){ //함수 선언 위치 console.log(name); } print1(); 만약 이 렉시컬 스코핑을 따른다면 결과 어떻게 될까??..
앞 포스팅에서 다룬 var의 문제들로 인해 ES6에서는 let과 const라는 새로운 문법을 소개했다. let과 const 는 전에 말한 var의 3가지 문제를 개선한 문법이라고 보면 된다. 📌 var와 구별되는 let, const의 특징 1. 같은 이름의 변수를 중복 선언할 수 없다. 2. 함수스코프가 아닌 블록스코프이다. 스코프, 함수스코프, 블록스코프 알아보기 👉👉 https://guun-oni.tistory.com/80 3. 호이스팅이 발생하지만 초기화되지는 않는다. >> var와 마찬가지로 선언이 맨 위로 끌어올려지는 호이스팅이 발생하지만 var 변수는 undefined(정의되지 않음)으로 초기화되고, let과 const 변수는 초기화되지 않아 선언 이전에 변수를 사용하려고 시도하면 refere..
ES6에서 변수를 선언하는 문법인 let과 const를 지원하면서 var의 사용을 지양한다. 더보기 📢 ES6란? ECMAScript 6의 약자로 2015년에 도입된 최신 버전의 JavaScript이다. 👀👀 그럼 왜 var를 쓰면 안되는가?! var를 쓰면 안되는 3가지 이유 1. 같은 이름의 변수를 중복해서 선언이 가능하다. var a = 5; var a = 10; console.log(a); // 10 같은 이름의 변수를 중복해서 선언할 수 있고, 가장 마지막에 선언된 값을 저장하고 있다. 2. 호이스팅이 발생한다. 📢호이스팅이란? 해당 변수의 선언부를 스코프 최상단으로 올려버리는 것 해당 코드는 var a = 123; function func() { console.log(a); // undefin..
js에서 변수를 선언할 때 스코프라는 개념이 나온다. 또한 var를 사용하면 안되는 이유에 대해 공부하면서 함수스코프와 블록스코프의 차이에 대한 내용이 언급된다. 🧐🧐 처음엔 잘 이해되지 않아 시간이 조금 걸렸는데 알고보니 굉장히 간단한 개념이었다..! 이제는 명확하게 구분할 수 있을 것 같아 정리를 해보았다. 1) 스코프란? 스코프(Scope)는 변수에 접근할 수 있는 범위를 말한다. 2) 전역스코프(global)와 지역스코프(local) (전역변수와 지역변수) 보통 프로그래밍 언어를 배울 때 변수 선언의 위치에 따라서 전역변수와 지역변수를 구분한다. 프로그래밍 언어를 한 번이라도 공부해본 사람은 이 개념에 대해서 이미 알고 있을 것이다. 스코프는 이렇게 크게 전역스코프와 지역스코프로 나뉜다. 3) 함..
JSON :: JavaScript Object Notation JSON은 범용적인 데이터 형식으로 문자 기반으며 구조화된 데이터 형식이다. JSON이나 XML같은 데이터 형식은 공식 포맷이기 때문에 개발자들 사이에 데이터 통신을 가능하게 한다. ✔️ 서버와의 데이터 교환에 사용된다. ✔️ 데이터의 외부 파일 저장에 사용된다. ✔️ xml에보다 용량이 가볍다. ✔️ 특정 언어에 종속되지 않으며 구조 정의가 용이하다. 📌JSON의 기본 구조 키와 값을 조합하여 정의한다. 키는 문자열만 가능하며 큰따옴표("")로 표기한다. let myJson{ "name" : "Tom", "grade" : 1, "age" : 20 } ✔ 마지막 요소에 , 를 허용하지 않는다. ✔ 키에 큰따옴표("")가 없거나 작은따옴표(''..
비동기 처리 작업 기능을 하는 Promise 객체를 사용하면 작업이 용이해질 뿐만 아니라 코드의 가독성도 좋아진다. when? 프로미스는 주로 서버에서 받아온 데이터를 화면에 표시할 때 사용한다. 🎇Promise의 장점 - 비동기 처리 시점을 명확하게 표현할 수 있다. - 연속된 비동기 처리 작업의 수정, 삭제 추가가 편하다. - 비동기 작업 상태를 쉽게 확인할 수 있다. - 코드의 유지 보수성이 증가한다 Promise 생성자의 인수는 비동기 처리 작업을 하는 함수를 지정하며, 함수 내부에서 비동기 처리 완료 메소드인 resolve()와 reject()를 호출한다. 📌 객체 생성 const promise = new Promise(function (resolve, reject) { }); 이렇게 생성된 p..