감기 이슈로 핑계 맞을지도 가득 가득 밀린 내 벨로그...
정리를 안하기엔 또 뭔가 안한 것 같고 찝찝한 그럼 마음에 모든 것을 정리해야하는 성격 🥹
갈길이 머니.... 여기선 좀 알아둘만한 것들만 빠르게 정리하고 넘어가자
그러니까 미루지마 제발

나머지 연산자의 부호
❗️ 나머지 연산의 부호는 왼쪽 피연자의 부호를 따름
console.log(`7 % 5 = ${ 7 % 5 }`); // 7 % 5 = 2
console.log(`7 % -5 = ${ 7 % -5 }`); // 7 % -5 = 2
console.log(`-7 % 5 = ${ -7 % 5 }`); // -7 % 5 = -2
console.log(`-7 % -5 = ${ -7 % -5 }`); // -7 % -5 = -2
문자열 결합
문자열 결합 연산자 +를 사용하여 여러 문자열을 하나로 연결
console.log("Hello, " + 'JavaScript' + `!!!!`);
문자열 인덱싱
문자열의 일부를 선택 => 문자열[인덱스]
console.log(message[18]); // 범위를 벗어나면 undefined
증감 연산자: 후위(postfix)와 전위(prefix)
-> 이건 정처기에서 필수로 나오는 문제들이었다👀
let x = 100;
console.log(x); // 100
if (x++ > 100) {
console.log("100 초과");
} else {
console.log("100 이하"); // 100 이하
}
console.log(x); // 101
let y = 100;
console.log(y); // 100
if (++y > 100) {
console.log("100 초과"); // 100 초과
} else {
console.log("100 이하");
}
console.log(y); // 101
동등 연산자(equality operator)와 일치 연산자(strict equality operator)
Object.is() 메서드🌟
Object.is()는 엄격한 비교를 수행하며, ===와는 약간의 차이가 있다.
true지만, Object.is(-0, +0)는 falsefalse지만, Object.is(NaN, NaN)은true삼항 연산자
삼항 연산자 ? :는 조건에 따라 다른 값을 반환
let x = 100;
console.log(x > 100 ? "100 초과" : "100 이하") // 100이하
⇒ String(), Number(), Boolean() 함수를 사용하여 명시적으로 자료형을 변환
console.log(Boolean(0), !!0); // false false
console.log(Boolean(1), !!1); // true true
JavaScript는 연산 시 자동으로 자료형을 변환한다.
숫자와 문자열에 + 연산자를 사용하면 숫자를 문자열로 자동 변환
-> + 연산자는 문자열 결합 연산자로 사용
console.log(10 + 20); // 30
console.log("10" + 20); // "1020"
console.log(10 + "20"); // "1020"
console.log("10" + "20"); // "1020"
숫자와 문자열에 +가 아닌 다른 연산자를 사용하면 문자열을 숫자로 자동 변환
console.log(20 - 10); // 10
console.log("20" - 10); // 10
console.log(20 - "10"); // 10
console.log("20" - "10"); // 10
console.log("20" * 10); // 200
console.log("20" / 10); // 2
console.log("20" % 10); // 0
1️⃣ 함수 선언문 (Function Declaration)
function 키워드를 사용하여 함수를 정의하는 가장 일반적인 방법

2️⃣ 함수 표현식 (Function Expression)
⓵ 익명 함수 표현식 (Anonymous Function Expression)
: 함수에 이름을 지정하지 않고 변수에 할당하는 방식
let add = function(x, y) {
return x + y;
};
⓶ 기명 함수 표현식 (Named Function Expression)
: 함수에 이름을 지정하여 변수에 할당하는 방식
-> 이름은 함수 내부에서 재귀 호출 등에 사용될 수 있지만, 함수 외부에서는 해당 이름으로 호출할 수 없음

3️⃣ Function 생성자 이용 (권장 x)
이 방식은 코드 가독성이 떨어지고 디버깅이 어려워 일반적으로 권장되지 않음
let add = new Function('x', 'y', 'return x + y');
console.log(add(10, 20)); // 30
개발자가 코드를 이용해서 명시적으로 호출하는 함수가 아니고, 개발자는 단지 함수를 등록하기만 하고,
어떤 이벤트가 발생하거나 특정 시점에 도달했을 때 시스템에서 호출하는 함수
<input type="button" onClick="function() { .... }" />
(function (name) {
console.log(`${name}는 즉시 실행됩니다.`);
})('이 함수');
// 익명 함수 표현식을 이용해서 함수 정의
const add1 = function(x,y) {return x+y;};
// 화살표 함수
// function 키워드 제거하고 화살표 => 추가
const add2 = (x,y) => {return x+y;};
// 화살표 함수 본문이 결과를 반환하는 구문일 경우 중괄호와 return 생략 가능
const add3 = (x,y) => x+y;
// 매개변수가 하나인 경우, 매개변수를 감싸고 있는 소괄호 생략 가능
const add4 = x => x+4;
// 객체를 반환하는 경우, 반환 객체를 소괄호로 감싸야한다
cosnt add5 = (x,y) => {return {result:x+y};};
const add6 = (x,y) => ({result : x+y});
for (let index in values){
console.log(index,values[index])
}
for (let value of values){
console.log(value)}
numbers.forEach(function(number) {
console.log(number);
});
// 함수 선언문 형태로 콜백 함수 정의
function printDate(data) {
console.log(data);
}
values.forEach(printData)
// 함수 표현식 형태로 콜백 함수를 정의
let printData2 = function(data) {
console.log(data);
};
values.forEach(printData2);
// 화살표 함수로 콜백 함수를 정의
values.forEach((data) => {
console.log(data);
});
// 객체 선언
let person = {
"name": "홍길동",
'age': 23,
isMarraied: false,
"favorite colors": [ "red", "blue" ],
hello: function() {
console.log(`안녕하세요, 나는 ${this.name}입니다.`);
}
};
// 객체의 모든 항목을 가져와서 출력
console.log("for-in 구문을 이용 => 객체의 키를 반환")
for (let key in person) {
console.log(key, person[key]);
}
// Uncaught TypeError: person is not iterable ⇐ for of 구문을 사용할 수 없음
/*
for (let value of person) {
console.log(value);
}
*/
// 객체의 키를 배열로 만들어서 반환
for (let key of Object.keys(person)) {
console.log(key, person[key]);
}
// 함수 선언문 형식으로 콜백 함수를 정의
function print(key, value) {
console.log(key, value);
}
Object.keys(person).forEach(key => print(key, person[key]));
// 익명 함수 표현식 형식으로 콜백 함수를 직접 정의
Object.keys(person).forEach(function(key) {
console.log(key, person[key]);
});
// 화살표 함수 형식으로 콜백 함수를 직접 정의
Object.keys(person).forEach(key => {
console.log(key, person[key]);
});
// 축약된 화살표 함수 형식으로 콜백 함수를 직접 정의
Object.keys(person).forEach(key => console.log(key, person[key]));