0 + 1
은 1
을 표현, sparta
는 sparta라는 문자열 표현let forStatement = for (...) {...} // Error!
let ifStatement = if (...) {...} // Error!
let functionStatement = function (...) {...} // OK?!
값
이 아니기 때문에 어떤 변수에 할당할 수 없고 식별자 표시 불가.표현
취급)함수
는 문(Statement)
이다.표현 취급이 가능
함수를 호출할 때, 그 인자로 다른 함수를 넘기는
동작 가능 (if문, for문은 불가)비동기 처리 -> 동기 처리
할 수 있게 돕는 Built-in(미리 내부적으로 정의된)객체 유형promise
도 callback
으로 작동executor
에는 함수만 올 수 있으며 인자로 resolve
, reject
주입executor
는 Promise의 실행함수라고 불리며 Promise가 만들어질 때 자동으로 실행resolve
, reject
중 하나를 무조건 호출Promise는 반드시 3가지 상태를 지니며, 대기(Pending) 상태가 아니라면 Promise의 연산이 끝난 상태
로 볼 수 있음.
reslove
된다. await
연산자 사용 가능// Using Method for Async Function
// 1. 비동기 + 일반 함수
async function 함수이름() {
(명령문)
}
// 2. 비동기 + 익명 함수
async function() {
(명령문)
}
// 비동기 + 화살표 함수
async () => {
(명령문)
}
// 이러한 특징은 마치 아래처럼 작성하는 것과 많은 것이 유사함
// 작성 1
function 함수이름() {
return Promise.resolve('값');
}
// 작성 2
async function 함수이름2() {
return '값';
}
// 결과 값 (작성1 == 작성 2)
함수이름(); // Print: Promise{'값'}
함수이름2(); // Print: Promise{'값'}
await
연산자는 비동기 함수 안에서만 사용 가능함.await
함수를 사용하면 문법이 간결해짐new Promise(executor)
코드로 Promise를 직접 생성하면 executor
가 바로 실행되는 것과 달리, 비동기 함수는 함수가 실행되기 전 까지 Promise를 생성하지 않음.await
연산자를 사용하면 Promise가 fulfill 상태가 되거나 rejected될 때까지 함수의 실행을 중단하고 기다릴 수 있음0개 이상의 프로퍼티(Property)로 구성된 집합.
하나의 프로퍼티는 Key와 Value로 구성됨.
JavaScript의 데이터 타입은 크게 원시 타입
과 객체 타입
으로 분류
사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법
객체를 생성하기 위한 표기법
중괄호{}
내에 0개 이상의 프로퍼티를 정의해서 선언let objectLiteral = {
key: 'value',
hellowWorld: function () {
return "Hello world!";
}
};
console.log(objectLiteral);
// Print: { key: 'value', hellowWorld: [Function: hellowWorld] }
const human = {
name: 'Solrasido',
'human age': 28
}
console.log(human);
// Print: { name: 'Solrasido', 'human age': 28 }
let objectLiteral = {
key: 'value',
helloWorld: function () {
return "Hello world!";
}
}
console.log(objectLiteral.helloWorld());
// Print: Hello World!