<script>
태그가 클라이언트 측 스크립트(JavaScript)를 정의하는 데 사용된다. <script>
요소는 스크립트문을 포함하거나 src속성을 이용해 외부 스크립트 파일을 가리킨다. console
객체는 브라우저의 디버깅 콘솔(Firefox 웹 콘솔 등)에 접근할 수 있는 메서드를 제공한다.
변수를 선언시 사용한다.
var
: 중복 선언 + 재할당 o
let
: 중복 선언 x + 재할당 o
const
: 중복 선언 x + 재할당 x
var
: 함수 레벨 스코프
let
: block 레벨 스코프
const
: block 레벨 스코프
➡️ 참조하지 못하면 not defined error 발생
호이스팅: 무언가를 들어 올리거나 끌어올린다.
➡️ 자바스크립트에서 호이스팅이란, 코드가 실행되기 전에 변수 및 함수 선언(이름)이 로컬범위(유효범위)의 맨 위로 들어올려지거나 끌어지는 경우이다.
console.log(greeting);
var greeting = "hello";
1) 선언 단계: undefined 할당
2) 할당 단계: hello 값 할당
var greeting = "hello";
가 호이스팅되었기 때문에 에러가 발생되지 않는다.greeting
변수를 사용할 수 있다. ✅ 변수를 생성할 때 재할당이 필요없다면
const
사용
✅ 재할당 필요시let
사용
✅ 즉, 변수의 scope를 최대한 좁게 만들어서 사용
Boolean, String, Number, null, undefined, Symbol (불변성)
Object, Array
typeof
로 타입 확인 가능val = String(new Date())
Math.E
: Eural numMath.PI
: pi Math.round(value)
: 가장 가까운 정수로 returnMath.ceil(value)
: 올림Math.floor(value)
: 내림Math.abs(value)
: absolute value (절대값)Math.min(values...)
: 최솟값Math.max(values...)
: 최댓값Math.random()
: return between 0 and 1Math.floor(Math.random() * 20 + 1
: 1~20 int random returnTemplate Literal: backtick(`) 문자를 사용하여 문자열을 표현한 것
1) 줄바꿈 쉽게 표현 (\n필요 없이 직접 엔터를 친다)
2) 문자열 내부에 표현식 포함 (""로 묶어서 나눠줄 필요가 없이 ${}사용)
console.log(`Fifteen is ${a+b}`);
loop: 코드블록을 여러번 실행할 수 있다.
코드블록을 여러번 반복
for(stat1; stat2; stat3)
stat1: 루프가 시작되기 전에 실행
stat2: 루프를 실행하기 위한 조건
stat3: 루프 실행된 후마다 실행
continue
: 다음 블록들을 모두 생략하고 다시 for로
break
: 모든 반복 종료
// FOR LOOP
for (let i = 0; i < 10; i++) {
if (i === 3) {
console.log('It is 3');
continue;
}
if (i === 5) {
console.log('5 Stop the loop');
break;
}
console.log('Number ' + i);
}
객체의 속성을 따라 반복
// FOR IN LOOP
const user = {
name: 'Han',
province: '경기도',
city: '성남시'
}
for (let x in user) {
console.log(`${x} : ${user[x]}`);
}
지정된 조건이 true인 동안 코드블록 반복
// WHILE LOOP
let i = 0;
while (i < 10) {
console.log('Number ' + i);
i++;
}
먼저 한 번 실행하고나서 조건 이행 (while 루프의 변형)
// DO WHILE
let i = 0;
do {
console.log('Number ' + i);
i++;
}
while (i < 10);
// MAP
locations.map(function (location) {
console.log(location);
});
// FOREACH
locations.forEach(function (location, index, array) {
console.log(`${index} : ${location}`);
console.log(array);
});