Search
Duplicate

한페이지로 정리하는 JS 기본

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
JS
Scrap
태그
9 more properties

JavaScript

dash-case(kebab-case)
프로그래밍의 표기법중 하나
snake_case
언더바가 들어가 있는 형태
camelCase
첫단어는 소문자 두번째는 첫글자가 대문자
ParcelCase
카멜과 유사하지만 첫번째 단어의 첫글자가 대문자이다.
참고로 자바스크립트도 숫자를 0부터 새기 시작한다.
변수 선언시에는 let을 사용한다.
net Date라는 함수로 getDate를 얻게 되는데 0번째가 일요일이다.

주석

데이터 종류

String
// String(문자 데이터) // 따옴표를 사용합니다. 큰거 작은거를 구분하지 않는다. let myName = "tonyhan18"; let email = 'ourclub7279@gmail.com'; // `기호를 사용할 수 있다. 이 문자열에 추가적인 내용을 보간할 수 있다. let hello = `Hello ${myName}?!` console.log(myName); // tonyhan18 console.log(email); // ourclub7279@gmail.com console.log(hello); // Hello tonyhan18?!
Plain Text
복사
Number
// Number(숫자 데이터) // 정수 및 부동소수점 숫자를 나타냅니다. let number = 123; let opacity = 1.57; console.log(number); // 123 console.log(opacity); // 1.57
Plain Text
복사
Boolean
// Boolean(불린 데이터) // true, false 두 가지 값밖에 없는 논리 데이터입니다. let checked = true; let isShow = false; console.log(checked); // true console.log(isShow); // false
Plain Text
복사
Undefined
// Undefined // 값이 할당되지 않은 상태를 나타냅니다. let undef; let obj = { abc: 123 }; console.log(undef); // undefined console.log(obj.abc); // 123 console.log(obj.xyz); // undefined
Plain Text
복사
Null
// Null // 어떤 값이 의도적으로 비어있음을 의미합니다. let empty = null; console.log(empty); // null
Plain Text
복사
Object
// Object(객체 데이터) // 여러 데이터를 Key:Value 형태로 저장합니다. { } let user = { // Key: Value, name: 'HEROPY', age: 85, isValid: true }; console.log(user.name); // HEROPY console.log(user.age); // 85 console.log(user.isValid); // true
Plain Text
복사
Array
// Array(배열 데이터) // 여러 데이터를 순차적으로 저장합니다. [ ] let fruits = ['Apple', 'Banana', 'Cherry']; console.log(fruits[0]); // 'Apple' console.log(fruits[1]); // 'Banana' console.log(fruits[2]); // 'Cherry
Plain Text
복사

변수

var, ket, const가 존재하는데 가급적 var은 사용금지
// 값(데이터)의 재할당 가능! let a = 12; console.log(a); // 12 a = 999; console.log(a); // 999 // 값(데이터)의 재할당 불가! const a = 12; console.log(a); // 12 a = 999; console.log(a); // TypeError: Assignment to constant variable
Plain Text
복사
변수이름으로 예약어 사용금지

함수

/* 함수 선언과 호출 */ function helloFunc() { // 실행 코드 console.log(1234); } // 함수 호출 helloFunc(); // 1234 /* 함수를 변수에 저장 */ // 아래와 같이 변수에 저장도 가능 function returnFunc() { return 123; } let a = returnFunc(); console.log(a); // 123 /* 함수 반환 */ // 함수 선언! function sum(a, b) { // a와 b는 매개변수(Parameters) return a + b; } // 재사용! let a = sum(1, 2); // 1과 2는 인수(Arguments) let b = sum(7, 12); let c = sum(2, 4); console.log(a, b, c); // 3, 19,
Plain Text
복사
기명함수와 익명함수
// 기명(이름이 있는) 함수 // 함수 선언! function hello() { console.log('Hello~'); } // 익명(이름이 없는) 함수 -> 대충변수에 저장해서 사용한다. // 함수 표현! let world = function () { console.log('World~'); } // 함수 호출! hello(); // Hello~ world(); // World~
Plain Text
복사
멤버 함수
// 객체 데이터 const heropy = { name: 'HEROPY', age: 85, // 메소드(Method) getName: function () { return this.name; } }; const hisName = heropy.getName(); console.log(hisName); // HEROPY // 혹은 console.log(heropy.getName()); // HEROPY
Plain Text
복사

조건문

let isShow = true; if (isShow) { console.log('Show!'); } else { console.log('Hide?'); }
Plain Text
복사

DOM API

자바스크립트에서 html을 제어하는 여러가지 명령들
위와 같이 작성하면 null이 나온다. 이것을 해결하기 위해 scrip부분을 아래로 내리자
하면 성분이 그대로 찍히는 것을 확인할 수 있다.
물론 defer 속성으로 이러한 문제를 해결할 수 있다.
이러한 문제가 생기는 이유는 브라우저는 순차적으로 읽기 때문에 main.js를 만나는 순간 box class를 찾게된다. 그래서 null 문자가 나온것이다.
// HTML 요소(Element)중 처음 찾은 1개만 반환 const boxEl = document.querySelector('.box'); // HTML 요소에 적용할 수 있는 메소드! boxEl.addEventListener(); // 인수(Arguments)를 추가 가능! 1번에는 이벤트 2번은 핸들러 boxEl.addEventListener(1, 2); // 1 - 이벤트(Event, 상황) boxEl.addEventListener('click', 2); // 2 - 핸들러(Handler, 실행할 함수) boxEl.addEventListener('click', function () { console.log('Click~!'); });
Plain Text
복사
실재로 box를 누르면 콘솔에 click이 출력된다.
// HTML 요소(Element) 검색/찾기 const boxEl = document.querySelector('.box'); // 요소의 클래스 정보 객체 활용! boxEl.classList.add('active'); //active라는 클래스가 있는지 확인한다. let isContains = boxEl.classList.contains('active'); console.log(isContains); // true //active라는 클래스를 제거해버린다. boxEl.classList.remove('active'); isContains = boxEl.classList.contains('active'); console.log(isContains); // false
Plain Text
복사
실재로 클래스에 active라는 클래스가 추가된것을 확인할 수 있다.
// HTML 요소(Element) 모두 검색/찾기 const boxEls = document.querySelectorAll('.box'); console.log(boxEls); // 찾은 요소들 반복해서 함수 실행! // 익명 함수를 인수로 추가! boxEls.forEach(function () {}); // 첫 번째 매개변수(boxEl): 반복 중인 요소. // 두 번째 매개변수(index): 반복 중인 번호 // 두개다 이름을 직접 지을 수 있지만 보통 두 번째는 그냥 index 사용 boxEls.forEach(function (boxEl, index) {}); // 출력! boxEls.forEach(function (boxEl, index) { boxEl.classList.add(`order-${index + 1}`); console.log(index, boxEl); });
Plain Text
복사
index 0번 부터 시작해서 쭉 찾아온것을 확인할 수 있다.
add를 이용해서 클래스를 추가한 모습이다.
const boxEl = document.querySelector('.box'); // Getter, 값을 얻는 용도 console.log(boxEl.textContent); // Box!! // Setter, 값을 지정하는 용도 boxEl.textContent = 'tonyhan18'; console.log(boxEl.textContent); // tonyhan18
Plain Text
복사
위와 같이 1이 출력된다음 내용이 바뀐것을 확인할 수 있다.

메소드 체이닝

const a = 'Hello~'; // split: 문자를 인수 기준으로 쪼개서 배열로 반환. // reverse: 배열을 뒤집기. // join: 배열을 인수 기준으로 문자로 병합해 반환. const b = a.split('').reverse().join(''); // 메소드 체이닝... console.log(a); // Hello~ console.log(b); // ~olleH
Plain Text
복사
뭐 대충 위와 같이 함수를 타고 타서 출력한다.