본문 바로가기

verdantjuly/Today I Learned

TIL 20230611

728x90

 

Event

null

 

생활 계획표

 

AM 6:00 체조, 아침식사, 산책, 샤워, 설거지, 세탁

AM 8:00 입실, TIL 리뷰, 노드 시간표 및 오늘 목표 체크

AM 8:30 공부 시작

PM 1:00 ~ 2:00 점심 식사

PM 6:00 ~ 7:00 저녁식사

PM 7:00 TIL, WIL 제출

PM 9:00 퇴실 (카톡 확인)

PM 11:00 취침

오늘 목표

TIL 작성

TIL 리뷰

프로그래머스 풀기

노드 입문 

오늘 한 것

TIL 작성

TIL 리뷰

프로그래머스 풀기

가위 바위 보 https://verdantjuly.tistory.com/182

개미군단 https://verdantjuly.tistory.com/188

 

0. Node.js

Node.js 란?

Javascript를 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경

 

Node.js 특징

논 블로킹 I/O : 함수가 실행되는 중에도 다른 작업을 동시에 진행할 수 있는 장점

싱글 스레드 (스레드 : 프로그램이 동작할 때 CPU 또는 프로세서를 사용하는 단위)

REPL 제공

 

ES6 : ECMAScript6 (ECMAScript 2015)

 

REPL 환경

Read > Evaluate > Print > Loop

입력하는 코드의 결과 값을 즉시 확인

 

터미널에 node를 치면 REPL이 나온다.

.exit을 치면 REPL을 빠져나온다.

 

동기 : 먼저 실행된 코드의 결과가 나올때까지 대기

비동기 : 실행된 순서와 관계없이 결과가 나오는 것

 

1. 함수 선언식과 함수 표현식

함수 선언식은 호이스팅에 영향을 받고,

함수 표현식은 호이스팅에 영향을 받지 않습니다.

 

함수 선언식

function sayHello () {
	return "hello, world!"
}

함수 표현식

const sayHello = function(){
	return "hello, world!"
}

 

2. 구조분해 할당

 

객체 

구조분해 할당을 사용하지 않을 때 

const user = {name: "손석구", age: 10};

console.log(user.name) // 손석구
console.log(user.age) // 10

구조분해 할당을 사용할 때

const { name, age } = user

console.log(name) // 손석구
console.log(age) // 10

 

배열

구조분해 할당을 사용하지 않을 때

const games = ['배틀그라운드', '리그오브레전드'];

console.log(games[0]) // 배틀그라운드
console.log(games[1]) // 리그오브레전드

구조분해 할당을 사용할 때

// 구조분해 할당
const [battleGround, Lol] = games;

console.log(battleGround); // 배틀그라운드
console.log(Lol); // 리그오브레전드

함수에서 구조분해 할당의 사용

// 객체일 때
const getUserName = ({name, age}) => {
	return name;
};

// 배열일 때
const getUserName = ([name, age]) => {
	return name
};

3. 호이스팅

var, function 을 사용하면 호이스팅이 일어나서 안 좋다.

 

4. await

await : 기다리다.

 

5. javascript의 동적 타이핑

자바스크립트는 동적 타입의 언어이다.

이것은 변수의 타입 지정 없이 값이 할당되는 과정에서 값의 타입에 의해 자동으로 타입이 결정 될 것이라는 것이다.

e.g.

javascript는 var, let, const 를 사용 

java는 int string 등을 사용

 

6. --harmony

node.js From version 6.5.0 ~ before 7.0.0: this feature is behind the --harmony runtime flag. 

> node --harmony index.js 를 사용하면 entries 실행 가능 

 

7.  set Time Out

 

8. Promise

 

9. Error handling - try catch

 

10. Error handling - throw

(개발자가 고의적으로 에러 발생시킨다)


정리 

Node.js 란?

Javascript를 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경

 

Node.js 특징

논 블로킹 I/O : 함수가 실행되는 중에도 다른 작업을 동시에 진행할 수 있는 장점

싱글 스레드 (스레드 : 프로그램이 동작할 때 CPU 또는 프로세서를 사용하는 단위)

REPL 제공

 

ES6 : ECMAScript6 (ECMAScript 2015)

 

REPL 환경

Read > Evaluate > Print > Loop

입력하는 코드의 결과 값을 즉시 확인

 

터미널에 node를 치면 REPL이 나온다.

.exit을 치면 REPL을 빠져나온다.

 

동기 : 먼저 실행된 코드의 결과가 나올때까지 대기

비동기 : 실행된 순서와 관계없이 결과가 나오는 것

 

함수 선언식은 호이스팅에 영향을 받고,

함수 표현식은 호이스팅에 영향을 받지 않습니다.

 

var, function 을 사용하면 호이스팅이 일어나서 안 좋다.

 

a- 접두사 : 않는다.

wait : 기다리다.

await : 기다리지 않는다.

 

자바스크립트는 동적 타입의 언어이다.

이것은 변수의 타입 지정 없이 값이 할당되는 과정에서 값의 타입에 의해 자동으로 타입이 결정 될 것이라는 것이다.

e.g.

javascript는 var, let, const 를 사용 

java는 int string 등을 사용

 

node.js From version 6.5.0 ~ before 7.0.0: this feature is behind the --harmony runtime flag. 

> node --harmony index.js 를 사용하면 entries 실행 가능 

 

Error handling - try catch, throw

 

소감

노드... 생각에도 어려워 보였는데 생각보다 더 어려운 것 같다!

일단 열심히 하고 후발대에 참여하는 게 좋겠다.

(엄마의 조언 : 떠들 시간에 가서 해라)

 

자고 일어나면 머리가 더 좋아진다!

오늘의 내가 해결하지 못한 건 내일의 나에게 맡긴다!

 

 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20230613  (0) 2023.06.13
TIL 20230612  (0) 2023.06.12
TIL 20230610  (0) 2023.06.10
TIL 20230609  (0) 2023.06.09
TIL 20230608  (0) 2023.06.08