유튜브 강의
자바스크립트 배우기전 꼭 봐야할 영상 | 자바스크립트의 역사와 현재 그리고 미래 (JavaScript, ECMAScript, JQuery, Babel, Node.js)
유튜브 강의
자바스크립트 2. 콘솔에 출력, script async 와 defer의 차이점 및 앞으로 자바스크립트 공부 방향 | 프론트엔드 개발자 입문편 (JavaScript ES5+)
cf) node.js에 javascript 엔진이 있어서 브라우저 없이도 실행 가능
API(Application Programming Interface) : 브라우저가 제공하는 함수
공식사이트
js 코드
console.log('Hello World');
html 코드
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="main.js"></script>
</head>
<body>
</body>
</html>
cf) js 파일 맨 앞에 ‘use strict’; 추가
유튜브 강의
자바스크립트 3. 데이터타입, data types, let vs var, hoisting | 프론트엔드 개발자 입문편 (JavaScript ES5+)
// let, read/write
let globalName = 'global name';
{
let name = 'ellie';
console.log(name);
name = 'kim';
console.log(name);
console.log(globalName);
}
console.log(name);
console.log(globalName);
// var, don't use
age = 4;
var age;
console.log(age);
// const, read only
const daysInWeek = 7;
const maxNumber = 5;
{ } 내부에 있는 변수는 { } 밖에서 호출 불가
globalName은 어디서든 가능
cf) bigInt : 숫자 끝에 n 붙이면 큰 숫자도 인식됨(number는 -2^53 ~ 2^53 까지만 인식)
// number
const count = 12; //integer
const size = 1.2; //decimal number
console.log(`value: ${count}, type: ${typeof count}`);
console.log(`value: ${size}, type: ${typeof size}`);
const infinity = 1 / 0;
const negativeinfinity = -1 / 0;
const nan = 'not a number' / 2;
console.log(infinity);
console.log(negativeinfinity);
console.log(nan);
const bigInt = 1231212312312312123n;
console.log(`value: ${bigInt}, type: ${typeof bigInt}`);
// string
const char = 'c';
const brendan = 'brendan';
const greeting = 'hello' + brendan;
console.log(`value: ${greeting}, type: ${typeof greeting}`);
const helloBob = `hi ${brendan}`; // template literals
console.log(`value: ${helloBob}, type: ${typeof helloBob}`);
// boolean
const canRead = true;
const test = 3 < 1;
console.log(`value: ${canRead}, type: ${typeof canRead}`);
console.log(`value: ${test}, type: ${typeof test}`);
// null
let nothing = null;
console.log(`value: ${nothing}, type: ${typeof nothing}`);
// undefined
let x;
console.log(`value: ${x}, type: ${typeof x}`);
// symbol
const symbol1 = Symbol('id');
const symbol2 = Symbol('id');
console.log(symbol1 === symbol2);
const gsymbol1 = Symbol.for('id');
const gsymbol2 = Symbol.for('id');
console.log(gsymbol1 === gsymbol2);
// object
const ellie = {name : 'ellie', age: 20}
ellie.age = 21;
console.log(`value: ${ellie}, type: ${typeof ellie}`);
// Dynamic typing
let text = 'hello';
console.log(text.charAt(0));
console.log(`value: ${text}, type: ${typeof text}`);
text = 1;
console.log(`value: ${text}, type: ${typeof text}`);
text = '7' + 5;
console.log(`value: ${text}, type: ${typeof text}`);
text = '8' / '2';
console.log(`value: ${text}, type: ${typeof text}`);