브라우저 이외의 환경에서 동작시킬 수 있는 환경. 모듈, 파일시스템, HTTP 등 빌트인 API를 제공한다.
코드 자동완성, 문법오류감지, 디버깅, Git 연동 기능을 지원하는 코드 에디터
VS Code 다운로드 바로가기
- Var: javascript ES6 이전 버전에서 사용된다. 중복 선언 시 이전 변수 값을 덮어쓴다.
- Let: 변수를 재지정 할 수 있다. 아무것도 지정되지 않은 경우 'undefined'으로 나타난다.
let count;
console.log(count); // Prints: undefined
count = 10;
console.log(count); // Prints: 10
- Const: 변수를 상수 값으로 선언할 때 사용한다. (✔ 수정하지 않을 변수에 대해 const 사용하기!)
const numberOfColumns = 4;
numberOfColumns = 8;
// TypeError: Assignment to constant variable.
산술, 문자 연결, 비교, 할당, 논리, typeof
- 산술연산자: +=, -=,*=, /= 사칙연산 값을 반환한다. ++, -- 1을 더하거나 뺀 값을 반환한다.
- 비교연산자: <,>,<=,>=, === 일치 !== 불일치
- 논리연산자: && 그리고, || 또는 ! 부정
변수와 string을 동시에 작성하는 방법.
$(변수)
let name = "Naeun";
console.log(`Hello, ${name}.`);
// Prints: Hello, Naeun.
console.log(`Billy is ${6+8} years old.`)
// Prints: Billy is 14 years old.
조건식의 평가 결과가 참인경우 코드 블럭을 실행하여 거짓일 때까지 반복한다.
- For Loop
for (let i=0, i<5; i++{
console.log(i);
};
/* Result
0
1
2
3
4
*/
- While Loop
let i=0;
while (i<3){
console.log(i);
i++;
// Result: 0 1 2
💡 무한루프의 경우, 코드블럭 탈출조건을 if문에 부여하고 break문으로 탈출한다.
- if...else
논리적 참/거짓에 따라 실행할 코드블럭을 결정한다.
if(x>0){
// x>0이면 실행되는 코드블럭
} else if(x=0){
// x=0이면 실행되는 코드블럭;
} else{
// x<0이면 실행되는 코드블럭;
}
1개의 변수에 여러 개의 값을 순차적으로 저장할 때 사용한다.
zero-index를 사용하여 첫 번째 값이 [0], 마지막 값이 [-1]
let array=['cat','dog','bird']
array.length()
배열의 길이 > 3array.slice(1, 2)
> {'dog'}, array.slice(1)
> {'dog', 'bird'}array.splice(1, 2, 'duck')
> 값을 변경한다. {'cat', 'duck', 'bird'}array.shift()
배열의 첫번째 값을 덜어낸다. > {'dog', 'bird'}array.pop()
배열의 마지막 값를 덜어낸다. > {'cat', 'dog'}array.filter(length > 3)
> {'bird'}array.push('duck', 'elephant')
배열의 끝에 값을 추가한다. > {'cat', 'dog', 'bird', 'duck', 'elephant'}키와 값으로 구성된 Property들의 집합. Property의 값이 함수일 경우 method라고 한다.
let obj={
name: 'Song', // Property= key: value
gender: 'female'
}
// property 추가하는 방법
obj.age = 20
console.log(obj) // { name: 'Song', gender: 'female', age: 20}
// property 삭제하는 방법
delete obj.gender
console.log(obj) // { name: 'Song', age: 20}
- Property 값 읽는 방법: 마침표, 대괄호
var person = {
'first-name': 'Ung-mo',
'last-name': 'Lee',
gender: 'male',
1: 10
};
console.log(person.first-name); // NaN: undefined-undefined. "-"가 연산자로 인식된다.
console.log(person[first-name]); // ReferenceError: first is not defined
console.log(person['first-name']); // 'Ung-mo'
console.log(person.gender); // 'male'
console.log(person[gender]); // ReferenceError: gender is not defined
console.log(person['gender']); // 'male'
console.log(person['1']); // 10
console.log(person[1]); // 10 : person[1] -> person['1']
console.log(person.1); // SyntaxError~