PROGRAMMING/Web

03 JavaScript

2022. 8. 17. 20:47
목차
  1. 1 JavaScript
  2. 1)  ES6
  3. 2) 비동기 처리
  4.  
  5. 2 변수/연산자/자료형
  6. 1)  변수
  7. 1)  연산자

1 JavaScript

  • 객체 기반의 스크립트 프로그래밍 언어
  • 동적, 타입을 명시할 필요 없는 인터프린터 언어
  • 객체지향형 프로그래밍과 함수형 프로그래밍 모두 표현 가능
  • 웹 브라우저 내에서 주로 사용하며 다른 응용프로그램의 내장 객체에도 접근할 수 있는 기능을 가짐
  • Node.js와 같은 런타임 환경과 같이 서버 프로그래밍에도 사용됨

 

 

1)  ES6

  • ECMAScript: 크로스 브라우징 이슈를 해결하기 위한 javascript 표준화
/* 템플릿 리터럴 */
var name = "현진";
var age = 25;
console.log(`저의 이름은 ${name}이고, 나이는 ${age}살 입니다.`);

/* 화살표 함수 */
var str = arg1 => console.log(arg1);

/* This */
function Obj(value) {
  this.value = value;
}
var obj = new Obj(0);
console.log(obj.value); // 0

/* let, const */
console.log(i); // 0
if (true) {
  let j = 10;
}
console.log(j); 
if (true) {
  const k = 100;
}
console.log(k);

 

2) 비동기 처리

  1. 콜백 함수 사용 → 비동기 처리의 가장 기본이지만, 콜백 지옥에 빠질 수 있다는 단점이 있음
// 콜백 함수
function printString(callbackParam) {
  console.log(callbackParam);
}

// 콜백 함수 호출
function printString(callbackParam) {
  console.log(callbackParam);
}

function callPrint(callback) {
  let value;
  console.log("Wait 3 sec.");
  console.log("waiting...");
  
  setTimeout(function() {
    value = "Hello";
    callback(value);
  }, 3000);
}

// 실행
callPrint(printString);

// 결과
Wait 3 sec.
waiting...
(3초 대기)
Hello
  1. Promise → 콜백 지옥을 해결할 수 있는 방식성공 시에는 resolve, then 실패 시에는 reject, catch
  2. Promise를 활용한 async/await
// async 
async function hello() {
  return 'Hello';
}

function callHello() {
  const r = hello();
  console.log(r); 
}

callHello();

// 결과
Promise { 'Hello' }

//await
async function hello() {
  return 'Hello';
}

// (2) 새로 추가된 async 키워드
async function callHello() {
  // (1) 새로 추가된 await 키워드
  const r = await hello();
  console.log(r);
}

callHello();

//결과
Hello

 

2 변수/연산자/자료형

1)  변수

  • var 선언은 전역 범위 또는 함수 범위이며, let 및 const는 블록 범위
  • 실현가능한 특정 프로그램의 그룹으로 다른 파일의 변수, 함수를 참조
  • var 변수는 범위 내에서 업데이트하고 다시 선언 할 수 있다. (재선언 O, 재할당 O)
  • let 변수는 업데이트 할 수 있지만 다시 선언 할 수는 없다. (재선언 X, 재할당 O)
  • null은 변수를 선언하고 빈 값을 할당한 상태(빈 객체) _ 수동
  • undifined는 자료형이 없는 상태로 선언 후에 값을 할당하지 않은 변수에 할당_ 자동

 

1)  연산자

  • 증가연산자: x++ (후위) / ++x (전위) / x+=1
  • 감소연산자: x-- (후위) / --x (전위) / x-=1
  • 문자열 연결(+) 연산자는 두 문자열의 값을 서로 연결한 새로운 문자열을 반환
  • 단축 할당 연산자인 += 또한 문자열을 연결결할 때 사용할 수 있음
  • == → 경우 임의적으로 Type을 바꿔서 비교하기 때문에 원하는 결과와 다른 값이 나올 수 있음
  • === → type까지 확인하는 연산자 _ null과 undefine은 같지 않음
  • && → 조건 중 하나라도 false 이면 false
  • !! → 두개의 조건이 모두 false여야 false
  • 삼항연산자 : condition이 참이라면 val1 거짓이라면 val2를 반환
condition ? val1 : val2

 

 

  1. 1 JavaScript
  2. 1)  ES6
  3. 2) 비동기 처리
  4.  
  5. 2 변수/연산자/자료형
  6. 1)  변수
  7. 1)  연산자
'PROGRAMMING/Web' 카테고리의 다른 글
  • 05 Event
  • 04 Dom
  • 02 CSS
  • 01 HTML
yuujoeng
yuujoeng
IT and Information Security
yuujoeng
알감자는 공부중
yuujoeng
전체
오늘
어제
  • 🎁 (201)
    • SECURITY (80)
      • 관리보안 (27)
      • System (10)
      • System | Wargame (30)
      • Android (9)
      • Reversing (3)
      • AWS (1)
    • BLOCKCHAIN (45)
      • BlockChain (22)
      • Ethereum (23)
    • PROGRAMMING (30)
      • Web (16)
      • Android (6)
      • Spring (8)
    • IT (0)
      • Article (40)
      • RaspberryPi (5)

블로그 메뉴

  • HOME
  • TIKKLE

인기 글

hELLO · Designed By 정상우.
yuujoeng
03 JavaScript
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.