[JavaScript] 자바스크립트 놓치기 쉬운 기본 개념들
1. const vs let
const는 상수를 입력할 때 쓰인다.
상수란 변하지 않는 값으로, 한 번 정하면 나중에 바꿀 수 없다.
const a = 5;
console.log(a+a) // 10
const a = 10;
console.log(a+a) // Assignment to constant variable. 에러
위의 예시처럼 a를 const로 정해놓고 5를 입력했으면 이후 이 값은 바뀔 수 없다.
이 a값을 10으로 바꾸려 했더니 Assignment to constant variable. 에러가 떴고,
이는 상수값에 값을 적용하려 했다는 의미의 에러이다.
값을 마음껏 변경하고 싶은 변수값을 입력하려면 const가 아닌 let을 이용해야 한다.
let a = 5;
console.log(a+a) // 10
a = 10;
console.log(a+a) // 20
위의 예시처럼 a를 let으로 설정해 놓으면 나중에 값을 바꿀 수 있다.
a의 값을 변경할 때는 let을 붙이지 않는다.
const와 let은 JavaScript의 초창기부터 있었던 건 아니다.
오래 전 만들어진 JavaScript을 보면 const와 let이 아닌 var을 이용한 변수 선언문을 볼 수 있을 것이다.
물론 지금도 var을 사용할 순 있지만, const와 let을 이용해야지 코드를 짠 사람의 의도를 더 명확히 파악할 수 있다.
변수를 선언할 때는, const와 let 중에서 const를 더 많이 사용하고 필요한 경우에만 let을 사용한다.
2. false vs null vs undefined
false는 false라는 값이 있는 것이고,
null은 아무것도 없는 것이고,
undefined는 정의가 되어있지 않다는 것이다.
const a = false;
const b = null;
let c;
console.log(a, b, c) // false null undefined
3. array에 값 추가하기 (push)
JS에서 array는 []를 이용한다.
const array1 = [1, 2, 3]
위의 array1의 마지막에 4를 추가하고 싶으면 아래와 같이 push를 이용하면 된다.
array1.push(4)
이렇게 하면 array1 = [1, 2, 3, 4] 가 된다.
cf. array 요소에 접근하는 방법은 아래와 같다. index는 0부터 시작한다는 것에 주의하자.
array1[0] = 1
array1[1] = 1
array1[2] = 1
array1[3] = 1
4. Object
자바스크립트에서 객체는 중괄호{}를 이용해 만든다.
const person = {
name: ['김가나', '박다라'],
gender: '여자',
age: 20,
};
name, gender, age는 객체의 프로퍼티(속성)라 부른다.
각 프로퍼티 끝에는 ;가 아닌 ,을 입력해준다.
각 프로퍼티에 접근할 때는 person.name이나 person.gender로 접근한다.
(1)
object를 선언한 중괄호{} 밖에서도 프로퍼티를 추가할 수 있다.
(2)
object를 const로 선언했어도 object의 각 프로퍼티들을 바꾸는 것은 허용된다.
(const로 선언한 것은 object의 각 프로퍼티들이 아니라, object 자체이므로 object를 통째로 바꾸는 것은 허용되지 않는다.)
const person = {
name: ['김가나', '박다라'],
gender: '여자',
age: 20,
};
person.isMarried = "true";
person.age = 30;
console.log(person); // 아래의 박스 안에 있는 내용이 뜬다.
{name: Array(2), gender: "여자", age: 30, isMarried: "true"}
age: 30
gender: "여자"
isMarried: "true"
name: ["김가나", "박다라"]
5. function(함수) 만들기
function 함수명(매개변수) {
내용
}
JavaScript에서 function(함수) 만들기 예시를 몇 개 보자.
1) 매개변수가 한 개인 함수
function sayHello(Name) {
console.log("Hello" + Name);
}
sayHello("World."); // Hello World.
sayHello("15호의 개발자."); // Hello 15호의 개발자.
2) 매개변수가 두 개인 함수
function add(a, b) {
console.log(a + b);
}
add(2, 3); // 5
3) Object 안에 생성한 함수
const person = {
name: ['김가나', '박다라'],
gender: '여자',
age: 20,
sayHello: function() {
console.log("Hello!");
},
};
person.sayHello(); // Hello!
6. 제곱(power) 표현하기
자바스크립트에서 제곱(power)은 **로 표현한다.
2**2 // 4
2**3 // 8
2**10 // 1024
7. document.
자바스크립트에서 HTML 파일에 접근(=HTML 태그에 접근)하는 방법은 DOM을 이용하는 것이다.
DOM이란 The Dovument Object Model(문서 객체 모델)로, HTML 문서의 프로그래밍 인터페이스이다.
DOM에 접근하는 방법 중 하나는 document를 이용하는 것이다.
document는 JS 관점에서 볼 때, HTML을 말하는 것이다.
웹페이지에서 Ctrl + Shift + I 를 눌러 검사창을 연 다음, 콘솔 창에서
document.title = "내용"
을 입력해보면 해당 페이지의 title(탭 명)이 바뀐 것을 확인할 수 있다.
즉, JavaScript를 통해 (=콘솔 창을 통해)
HTML 파일에 접근할 수 있는 것이다. (=페이지의 title(탭 명)을 바꿀 수 있다)
8. string 문자열 결합 ${ }
문자열을 결합할 때는 +연산자를 많이 쓴다.
const name = "James";
const greeting = "Hello " + name;
이때 `${변수명}`를 이용해도 같은 의미이다.
주의해야할 부분은, 큰 따옴표(")나 작은 따옴표(')가 아닌 백틱(`)을 사용해야한다는 것이다.
const greeting = `Hello ${name}`;
'HTML, CSS, JavaScript' 카테고리의 다른 글
[JavaScript] toggle 메서드 (0) | 2021.08.21 |
---|---|
[JavaScript] 기본 함수 몇 가지 _1탄 (0) | 2021.08.20 |
[JavaScript] parseFloat() 사용법 (0) | 2021.08.09 |
[JavaScript] return문 설명 (0) | 2021.08.09 |
[JavaScript] ===와 ==의 차이 (!=와 !==의 차이) (0) | 2021.08.09 |