Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions js-study-ch1,2-jimin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
js-study-ch1,2-jimin
# Chapter 01 자바 스크립트 첫 걸음
자바스크립트는 웹 브라우저에서 사용할 목적으로 사용할 목적으로 만든 프로그래밍 언어이다.

## RIA
Rich Internet Application; 풍부한 경험을 선사하는 웹 애플리케이션

## Node.js
이벤트 기반 비동기 방식으로 작동하기에 대규모 네트워크 애플리케이션을 개발하는데 적합하다.

`동기방식` ;
처리의 흐름이 순차적으로 진행되는 것
`비동기 방식` ;
처리의 흐름이 순차적으로 진행되지 않고 섞이는 것

Node.js는 함수를 변수에 저장할 수 있다는 자바스크립트 프로그래밍 언어의 속성을 사용해 모든 모듈(라이브러리)이 처음부터 비동기 기본의 프로그램을 만들 수 있다.

## 자바스크립트로 할 수 있는 일
1. 웹 클라이언트 애플리케이션 개발
2. 웹 서버 개발
3. 모바일 애플리케이션 개발
4. 데스크톱 애플리케이션 개발
5. 데이터베이스 관리

---
# Chapter 02기본
## 1. 기본 용어
### 표현식과 문장
표현식 → 문장 → 프로그램

## 2. 출력
### 출력 메소드
```js
console.log("문자열")
```

### 문자열
한 문자로 구성된 것도 문자열로 취급한다.
기본적인 문자열을 생성할 때 큰따옴표나 작은따옴표를 사용한다.

### 템플릿 문자열
템프릿 문자열은 \` 기호로 생성한다.
내부에 `${표현식}` 을 사용할 수 있다. → 표현식이 계산되어 문자열에 들어간다.
```js
`52 + 273 = ${52 + 273}`
```

## 3. 변수
### 변수 선언
```js
let 식별자;
```

## 4. 자료형 검사
`typeof` 연산자를 사용한다.

## 5. 강제 자료형 변환
강제 자료형 변환 함수

|함수|설명|
|--------|----------------|
|Number()|숫자로 자료형 변환|
|String()|문자열로 자료형 변환|
|Boolean()|불로 자료형 변환|

NaN인지 확인할 때는 `isNaN()` 함수를 사용한다.

## 6. 자동 자료형 변환
### 숫자와 문자열 자료형 자동 변환
숫자와 문자열에 `+` 연산자를 적용하면 자동으로 숫자가 문자열로 변환된다.

## 7. 일치 연산자

|연산자|설명|
|--------|-------------|
|===|자료형과 값이 같은지 비교한다.|
|!==|자료형과 값이 다른지 비교한다.|

## 8. 상수
```js
const 이름 = 값;
```
20 changes: 20 additions & 0 deletions js-study-ch3,4-jimin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
js-study-ch3,4-jimin
# Chapter03 조건문
웹 브라우저에서 작동하는 자바스크립트는 prompt() 이름의 함수를 이용하여 입력을 받으면 되지만, Node.js에서 작동하는 자바스크립트는 입력을 받을 수 없다.
→ Node.는 기다리는 느린 코드를 절대 만들지 못하게 하겠다는 사상을 가지고 있기 때문이다.

# Chapter04 반복문
## 반복문과 배열
배열 생성 방법
```js
let 이름 = [자료, 자료, 자료, 자료, 자료, 자료]
```
## 스코프(scope)
>변수를 사용할 수 있는 범위

스코프 == 블록
## 섀도잉(Shadowing)
>블록 내부에서 이름이 같아서 상위 블록에 있는 변수의 이름을 가리는 것

## 호이스팅
>해당 블록에서 사용할 변수를 미리 확인해서 정리하는 작업
77 changes: 77 additions & 0 deletions js-study-ch5-jimin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
js-study-ch5-jimin
# 1. 함수 생성 방법
## 익명 함수
익명 함수 생성 방법
```js
let 함수_이름 = function() {};
```
## 선언적 함수
```js
function 함수_이름() {}
```
## 화살표 함수
```js
() => {}
```

---
# 2. 함수의 기본 형태
```js
function 함수_이름(매개_변수) {
함수_코드;
return 리턴_값;
}
```

---
# 3. 콜백 함수(Callback)
>자바스크립트는 함수를 변수에 저장할 수 있어 함수를 함수의 매개 변수로 전달할 수 있다.
이 때 함수의 매개변수로 전달되는 함수를 콜백함수라고 한다.

---
# 4. 표준 내장 함수
## 숫자 변환 함수
|함수|설명|
|------|--------|
|parseInt()|문자열을 정수로 변환한다.|
|parseFloat()|문자열을 실수로 변환한다.|

## 타이머 함수
>특정 시간 후에 또는 특정 시간마다 어떤 일을 할 때는 타이머 함수를 사용한다.

### 타이머 설정함수
|함수|설명|
|-------|------|
|setTimeout(함수, 시간)|특정시간 후에 함수를 실행한다.|
|setInterval(함수, 시간)|특정시간마다 함수를 실행한다.|

### 타이머 제거함수
|함수|설명|
|-------|------|
|clearIntercval(아이디)|특정시간마다 실행하던 함수 호출을 정지한다.|

```js
// 1초마다
let id = setInterval(function () {
console.log("출력합니다.");
}, 1000);

// 3초마다
setTimeout(function () {
// 타이머를 제거한다.
clearInterval(id);
}, 3000);
```

---
# 5. 조금 더 나아가기
## 익명 함수와 선언적 함수의 생성 순서
익명 함수는 선언적 함수를 `무조건적으로` 덮어쓴다.

## 일반 함수와 화살표 함수의 차이
`function () {}` 형태로 선언하는 익명함수와 `() => {}` 형태로 선언하는 화살표 함수는 거의 비슷한 기능을 수행한다.
하지만 한 가지 차이가 있는데, 바로 내부에서 `this` 키워드가 가지는 의미이다.
### 익명함수: function () {}
this는 자바스크립트 최상위 객체 또는 외부에서 강제로 연결한 객체를 나타낸다.
### 화살표함수: () => {}
this는 자기 자신과 관련된 것만을 나타낸다.
110 changes: 110 additions & 0 deletions js-study-ch6-jimin.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
js-study-ch6-jimin
# 1. 객체 기본
>객체는 여러 개의 자료형을 한 번에 저장하는 자료형이다.

`배열` 은 요소에 접근할 때 `인덱스` 를 사용하고, `객체` 는 `키` 를 사용한다.

## 객체 선언
```js
// 객체 선언
let product = {
제품명: '7D 건조 망고',
유형: '당절임',
성분: '망고, 설탕, 메타중아황산나트륨, 치자황색소',
원산지: '필라핀'
};

// 출력
console.log(product);
```
### 객체
|키|속성|
|------|------------------|
|제품명|7D 건조 망고|
|유형|당절임|
|성분|망고, 설탕, 메타중아황산나트륨, 치자황색소|
|원산지|필라핀|

### 객체 속성 접근
```js
product['제품명']

product.제품명
```
### 식별자로 사용할 수 없는 키
식별자 생성 규칙에 어긋나는 문자를 키로 사용할 때에는 반드시 `대괄호` 를 사용해야 객체의 요소에 접근할 수 있다.
대괄호가 아니라 점을 찍어 사용하면 자바스크립트 문법 오류가 발생하게 된다.

---
# 2. 객체와 반복문
생성한 객체에는 `for in` 반복문으로 반복을 적용할 수 있다.
```js
// 객체 선언
let object = {
name: '바나나',
price: 1200
};

// 출력
for(let key in object) {
console.log(`${key}: ${object[key]}`);
}
```
실행결과
```
name: 바나나
price: 1200
```

---
# 3. 속성과 메소드
## 요소(Element)
>배열 내부에 있는 값 하나하나

## 속성(Property)
>객체 내부에 있는 값 하나하나


---
# 04. 클래스
자바스크립트를 사용하면 데이터를 문자로 쉽게 표현할 수 있기 때문에 많은 프로그래밍 언어에서 데이터 통신을 할 때 활용한다.
이렇게 자바스크립트의 객체 형태로 데이터를 표현하는 것을 `JSON` (JavaScript Object Notation)이라고 한다.

## 객체지향프로그래밍
`한 객체의 속성과 기능은 한 객체를 기준으로 처리할 수 있게한다` 는 규칙성을 지키며 코드를 작성해야 한다.

## 클래스 선언과 인스턴스
### 클래스 선언
```js
class Product{

}
```
### 클래스 객체 생성
```js
new 클래스_이름()
```
### 인스턴스(Instance)
>클래스를 기반으로 만들어지는 객체

## 생성자(Constructor)
생성자는 클래스 내부에 constructor라는 이름의 함수를 만들어서 활용한다.
클래스 내부에 함수(메소드)를 만들 때는 앞에 function 키워드를 따로 붙이지 않는다.
```js
class Product {
constructor (name, pice) {

}
}

let product = new Product("바나나", 1200);
```

## 속성
클래스의 메소드 내부에서 `this` 키워드는 클래스를 기반으로 만들어지는 객체를 의미한다.

---
# 5. 조금 더 나아가기
## Boolean() 함수
`false` 로 변환되는 것: 0, NAN, ""(빈문자열), null, undefined

Loading