JS
basic JS
청춘고양이
2022. 5. 2. 23:16
반응형
안녕하세요. 오늘은 기본적인 JS에 대해 알려드리도록 하겠습니다.
자바스크립트는 객체 기반의 스크립트 프로그래밍 언어이다. script를 번역기로 검색해보면 영화나 방송의 대본&각본으로 나오는데요. Java라는 언어의 대본&각본이라고 할 수 있습니다. 이러한 자바스크립트는 오늘날 HTML, CSS와 함께 웹을 구성하는 요소 중 하나입니다. HTML은 웹 페이지의 (1) 기본 구조를 담당하고, CSS는 웹 페이지의 (2) 디자인, JavaScript의 경우 웹 페이지의 (3) 동작을 담당한다고 할 수 있습니다. 지금부터 JS를 사용하는 방법을 알아보도록 하겠습니다.
JS는 Inline-Script와 Internal-Script와 External-Script방식이 있습니다.
- Inline-Script : 태그 내에 직접 자바스크립트 명령어를 작성하는 방법이며 보안에 취약하기 때문에 사용하지 않는 것이 좋습니다.
- Internal-Script : HTML 문서 내 별도의 영역에 자바스크립트를 작성하는 방식으로 <script> 태그 내에 작성, <head>또는 <body> 영역에 작성이 가능하며 해당 방식도 스크립트의 양이 많아지면 문서 작성이 힘들기 때문에 추천하는 방식은 아닙니다.
- External-Script : HTML과 자바스크립트를 분리해서 외부 파일로 분리하는 방식으로 파일 확장자. js로 작성하는 방식이며 개발을 할 때 일반적으로 사용하는 방식입니다. 또한 파일 코드 재사용, 구조, 표현을 파악하기 좋기 때문에 유지보수가 쉽다는 장점이 있습니다.
변수와 상수의 선언
- JS에서는 JAVA와 다르게 타입을 명시하지 않습니다.
- 변수와 상수는 기본적으로 첫 글자를 소문자로 시작하며 중간 글자는 대문자로 시작하는 방식인 카멜 케이싱(Camel Casing)입니다.
- 변수의 선언 : let {변수 이름} = {변수 값};이며 변수 값은 생략이 가능합니다. ES6 이전의 경우 변수를 한 번 더 선언했음에도 불구하고, 에러가 나오지 않고 각기 다른 값이 나오는 var의 경우가 있지만 이를 보완하기 나온 것이 let입니다.
- 상수의 선언 : const {상수 이름} = {상수 값};이며 상수 값은 생략이 불가능합니다. 즉, 상수는 선언과 동시에 값을 부여해야 합니다.
연산
- a = b : b의 값을 a에 대입한다.
- a + b : 덧셈. 단, a나 b 중 한 개 이상이 문자열일 경우 문자열 합치기가 가능하다. ex) 5 + '5' = '55'가 된다.
- a - b : 뺄셈.
- a * b : 곱하기.
- a / b : a를 b로 나눈 몫.
- a % b : a를 b로 나눈 나머지.
논리
- 논리 값 : 여부를 나타내는 값으로 참(true), 거짓(false) 두 가지의 값으로만 표현할 수 있다.
비교 연산
- a == b : "a값이 b값과 동일한가?"에 대한 여부를 반환한다. 단, 형 변환을 할 수 있는 경우 형 변환 후 비교한다.
- a!= b : "a값이 b값과 다른가?"에 대한 여부를 반환한다. 단, 형 변환을 할 수 있는 경우 형 변환 후 비교한다.
- a === b : "a값이 b값과 동일한가?"에 대한 여부를 반환한다. 단, 형 변환을 하지 않는다. (값과 형이 같아야 참을 반환한다.)
- a!== b : "a값이 b값과 다른가?"에 대한 여부를 반환한다. 단, 형 변환을 하지 않는다 ( 값과 형이 달라야 참을 반환한다.)
가정문
- if ({논리 값을 반환하는 조건의 나열}) {참 구현부}
- else {거짓 구현부}
if( 1 == '1') {
console.log('같다');
} else {
console.log('다르다');
}
가정문 추가 분기
- if ~ else if ~ else로 작성한다.
let number = 3;
if (number === 1) {
console.log('넘버는 1.');
} else if (number ===2) {
console.log('넘버는 2.');
} else if (number ===3) {
console.log('넘버는 3.');
} else {
console.log('넘버는 1도 2도 3도 아니다.');
}
스위치
- switch를 각각의 case들을 설정해서 break를 이용해 해당 분기를 탈출하면서 값을 나타 낼 수 있다. 마지막 case에는 defalut를 적는다.
switch (number) {
case 1:
console.log('넘버는 1.');
break;
case 2:
console.log('넘버는 2.');
break;
case 3:
console.log('넘버는 3.');
break;
default:
console.log('넘버는 1도 2도 3도 아니다.');
break;
}
AND, OR
- a && b : a와 b가 모두 논리적으로 참이어야만 최종적으로 참이 된다.
- a || b : a나 b 중 하나라도 논리적으로 참이라면 최종적으로 참이 된다.
if(1 == '1' && 5 === '5') {
console.log('참');
} else {
console.log('거짓');
}
if(1 == '1' || 5 === '5') {
console.log('참');
} else {
console.log('거짓');
}
복합 대입 연산 / 비트 연산
- a += b : b값을 a에 더한다.
- a -= b : b값을 a에 뺀다.
- a *= b : a와 b를 곱한 값을 a에 대입한다.
- a /= b : a를 b로 나눈 몫을 a에 대입한다.
- a %= b : a를 b로 나눈 나머지를 a에 대입한다.
- a &= b : a && b 여부를 a에 대입한다.
- a |= b : a || b 여부를 a에 대입한다.
- a??= b : a가 null이거나 undefined일 때만 b값을 a에 대입한다.
증감 연산
- a++ : 해당 구문을 완료하고, a에 1을 더한다.
- ++a : a에 1을 더하고, 해당 구문을 진행한다.
- a-- : 해당 구문을 완료하고, a에 1을 뺀다.
- --a : a에 1을 빼고, 해당 구문을 진행한다.
Array
- 값의 나열이다.
- 0부터 시작하는 인덱스 번호가 있다.
- 콤마(,)로 구분하여 여러 개의 값 입력
let arr = [1, 3, 5, 7, 9, 11]; // Array
odds.push('!');
//배열 끝에 값을 추가한다.
//console.log(odds.length);
// 배열의 길이 - 1 = 배열의 마지막 값 (odds.length - 1)
odds.unshift('@');
// 배열 앞에 값을 추가한다.
odds.splice(2, 2, '#', '%');
//원하는 위치에 값(들)을 추가한다. ~.splice({원하는 자리의 인덱스}, 값...)
Object
- 키와 값 쌍의 나열
- 인덱스 번호가 없다. 키로만 값에 접근할 수 있다.
- 키와 값은 콜론(:)으로 구분하고, 키값 쌍은 콤마(,)로 구분한다.
let obj = {
김김김 : '010-0000-0001',
이이이 : '010-0000-0002',
박박박 : '010-0000-0003'
}; // Object
userContacts['박박박'] ='010-0000-0002' // 값 수정 userContacts.박박박 = '~'; (.을 써도 되고 []를 써도 됨)
userContacts['최최최'] ='010-0000-0003' // 쌍 추가
delete userContacts['박박박']; // 쌍 삭제
FOR 반복문
- for ({증감 변수의 시작 값 지정}; {반복 조건}; {증감}) {구현부}
for (let i = 0; i < 10, i++) {
console.log(i);
}
향상된 FOR문
- 배열을 대상으로 한다. in을 사용하면 인덱스 번호, of를 사용하면 그 값을 나타낼 수 있다.
let odds = [1, 3, 5, 7, 9];
console.log('--------------------');
for (let i in odds) {
console.log('in : ' + odds[i]);
} //in을 쓰면 순번 즉, 인덱스 번호
console.log('--------------------');
for (let a of odds) {
console.log('of : ' + a);
} //of는 그 값이다.
console.log('--------------------');
함수
- 화살표 함수 (Arrow Function)
- let (함수 이름) = (매개 변수 구조) => {구현부}
- (매개변수 확인)
let sayHello = () => {
console.log('Hello?');
};
sayHello();
let sum = (a, b, c) => {
return a + b + c;
};
console.log(sum(1,3,5));
오늘의 포스팅을 마무리하겠습니다. 한동안 JS 공부로 인해 글을 올리지 못했습니다.. JS에 대해 아직 많이 미흡하지만 제가 공부한 내용을 토대로 JS에 관련된 글이 올라갈 예정입니다.

반응형