01. 변수 : 데이터 저장소
자바스크립트(javascript)에서 변수는 데이터를 저장하는 저장소입니다.
{
var x = 100;
var y = 200;
var z = "javascript";
console.log(x);
console.log(y);
console.log(z);
}
var: 과거에 사용되던 변수 선언 방식으로, 현재는 잘 사용하지 않습니다.
결과 확인하기
200
javascript
02. 변수 : 데이터 저장 + 데이터 변경
자바스크립트(javascript)에서 변수의 값을 변경하고 있습니다. 이렇게 변수의 값을 변경하면 변경된 값으로 변수의 내용이 업데이트되며, 변경 후에는 이전 값이 더 이상 유지되지 않습니다.
{
let x = 100;
let y = 200;
let z = "javascript";
x = 300;
y = 400;
z = "jquery";
console.log(x);
console.log(y);
console.log(z);
}
let: 주로 프로그래밍 언어에서 변수를 선언하고 초기화할 때 사용되는 키워드 중 하나입니다. 주로 JavaScript와 같은 언어에서 사용되며, 변수를 선언하고 값을 할당하는 데에 이용됩니다.
결과 확인하기
400
jquery
03. 변수 : 데이터 저장 + 데이터 변경 + 데이터 추가
연산자 += 를 사용하면 현재 변수의 값에 다른 값을 더하여 변수 값을 갱신하거나, 문자열을 이어붙일 수 있습니다.
{
let x = 100;
let y = 200;
let z = "javascript";
x += 100;
y += 100;
z += "jquery";
console.log(x);
console.log(y);
console.log(z);
}
+= 연산자는 변수에 값을 더하고 그 결과를 해당 변수에 할당하는 역할을 합니다
결과 확인하기
300
javascriptjquery
04. 상수 : 데이터 저장 + 데이터변경(x)
상수는 데이터 저장이 가능하나 변경은 불가능합니다.
{
const x = 100;
const y = 200;
const z = "javascript";
x = 200; (변경불가함으로 오류)//TypeError: Assignment to constant variable.
console.log(x);
console.log(y);
console.log(z);
}
const"는 프로그래밍 언어에서 상수를 선언할 때 사용되는 키워드입니다. 상수는 변수와 비슷하지만 한 번 값이 할당되면 변경할 수 없는 고정된 값입니다.
결과 확인하기
200
javascript
05. 배열 : 데이터 저장(여러개) : 표현방법1 : 배열 선언
배열을 선언 후 데이터를 할당합니다.
{
const arr = new Array();
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr);
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
}
"array"는 자바스크립트 프로그래밍 언어에서 배열을 다루는 것을 의미합니다. 배열은 여러 개의 값을 하나의 변수에 저장하는 자료 구조입니다
결과 확인하기
100
200
javascript
undefined
06. 배열 : 데이터 저장(여러개) : 표현방법2 : 배열 선언과 동시에 초기값 설정
배열을 선언 하고 동시에 데이터를 할당합니다.
{
const arr = new Array(100, 200, "javascript");
console.log(arr);
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
}
Array()는 JavaScript에서 배열을 생성하는 내장 생성자 함수입니다. 배열은 여러 개의 값을 하나의 변수에 저장하기 위한 데이터 구조입니다. Array() 생성자 함수는 배열을 생성하고 초기값을 설정할 때 사용됩니다.
결과 확인하기
100
200
javascript
undefined
07. 배열 : 데이터 저장(여러개) : 표현방법3 : 리터럴 방식으로 배열 선언
배열을 약식으로 선언 후 데이터를 할당합니다.
{
const arr = [];
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr);
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
}
주어진 코드는 빈 배열을 생성하고, 배열의 각 인덱스에 값을 할당하여 배열을 채우는 과정을 나타냅니다.
결과 확인하기
100
200
javascript
undefined
08. 배열 : 데이터 저장(여러개) : 표현방법4 : 리터럴 방식으로 배열 선언과 동시에 초기값 설정
배열을 약식으로 선언하고 데이터를 할당합니다
{
const arr = [100, 200, "javascript"];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
주어진 코드는 세 개의 요소를 가진 배열 arr을 생성하는 것입니다.
결과 확인하기
200
javascript
09. 배열 : 데이터 저장(여러개) : 표현방법5 : 2차 배열
배열 안에 배열이 있는 2차배열 방식입니다.
{
const arr = [100, [200, 300], ["javascript", "jquery"]];
console.log(arr[0]);
console.log(arr[1][0]);
console.log(arr[1][1]);
console.log(arr[2][0]);
console.log(arr[2][1]);
}
console.log(arr[0]);
이 줄은 외부 배열의 첫 번째 요소를 인쇄합니다.
console.log(arr[1][0]);
이 줄은 외부 배열 내 두 번째 하위 배열의 첫 번째 요소를 인쇄합니다.
console.log(arr[1][1]);
이 줄은 외부 배열 내 두 번째 하위 배열의 두 번째 요소를 인쇄합니다.
console.log(arr[2][0]);
이 줄은 외부 배열 내 세 번째 하위 배열의 첫 번째 요소를 인쇄합니다.
console.log(arr[2][1]);
이 줄은 외부 배열 내 세 번째 하위 배열의 두 번째 요소를 인쇄합니다.
결과 확인하기
200
300
javascript
jquery
10. 배열 : 데이터 저장(여러개) : 표현방법6 : 배열 구조 분해 할당
배열을 a,b,c로 변경후 다시 할당하여 표현합니다.
{
const arr = [100, 200, "javascript"];
const [a, b, c] = arr;
console.log(a);
console.log(b);
console.log(c);
}
주어진 코드 조각은 세 개의 요소를 포함하는 'arr' 배열을 정의한 다음 구조 분해 할당을 사용하여 배열의 각 요소를 개별 변수 'a', 'b' 및 'c'에 할당합니다.
결과 확인하기
200
javascript
11. 배열 : 데이터 저장(여러개) : 표현방법7 : 배열 펼침연산자
배열 펼침 연산자(...)는 JavaScript에서 사용되는 문법 중 하나로, 배열 내의 요소들을 풀어서(분해해서) 개별적인 요소들로 만들어줍니다.이를 통해 배열을 복사하거나, 여러 배열을 결합하거나, 함수에 매개변수로 전달할 때 유용하게 사용됩니다.
{
const arr1 = [100, 200,"javascript"];
const arr2 = [300, 400,"jquery"];
const arr3 = [...arr1, 500];
console.log(arr1);
console.log(...arr1);
console.log(...arr1, ...arr2);
console.log(...arr3);
}
이를 통해 배열을 복사하거나, 여러 배열을 결합하거나, 함수에 매개변수로 전달할 때 유용하게 사용됩니다.
결과 확인하기
100 200 javascript
100 200 javascript 300 400 jqurey
100 200 javascript 500
12. 객체 : 데이터 저장(키와값) : 표현방법1 : 객체 선언 후 배열 방식으로 데이터 입력
객체를 선언한 후 데이터를 할당하는 방식입니다.
데이터를 입력할 때 배열 방식도 적용됩니다.
{
const obj = new Object();
obj[0] = 100;
obj[1] = 200;
obj[2] = "javascript";
console.log(obj);
console.log(obj[0]);
console.log(obj[1]);
console.log(obj[2]);
}
주어진 코드는 빈 객체를 생성하고, 객체의 각 프로퍼티에 값을 할당하는 과정을 나타냅니다.
위 코드에서 obj 객체는 프로퍼티 이름이 숫자 형태인 0, 1, 2를 가지고 있습니다.
결과 확인하기
100
200
javascript
13. 객체 : 데이터 저장(키와값) : 표현방법2 : 객체 선언 후 객체 방식으로 데이터 입력
객체를 선언한 후 데이터를 할당하는 방식입니다.
데이터를 입력할 때 키(a.b.c등)와 값으로 적용합니다.
{
const obj = new Object();
obj.a = 100;
obj.b = 200;
obj.c = "javascrip";
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
주어진 코드는 빈 객체를 생성하고, 객체의 각 프로퍼티에 값을 할당하는 과정을 나타냅니다.
위 코드에서 obj 객체는 a, b, c 프로퍼티를 가지고 있습니다.
결과 확인하기
200
javascript
14. 객체 : 데이터 저장(키와값) : 표현방법3 : 리터럴 방식으로 객체 선언
객체를 약식으로 선언하고 데이터를 할당합니다.
{
const obj = {};
obj.a = 100;
obj.b = 200;
obj.c = "javascript";
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
주어진 코드는 빈 객체를 생성하고, 객체의 각 프로퍼티에 값을 할당하는 과정을 나타냅니다.
위 코드에서 obj 객체는 a, b, c 프로퍼티를 가지고 있습니다.(약식사용)
결과 확인하기
200
javascript
15. 객체 : 데이터 저장(키와값) : 표현방법4 : 리터럴 방식으로 객체 선언과 동시에 초깃값을 설정
객체를 약식으로 선언하고 동시에 데이터를 입력합니다.
{
const obj = {
a: 100,
b: 200,
c: "javascript"
}
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
주어진 코드는 객체 리터럴을 사용하여 객체를 생성하고, 객체의 프로퍼티를 초기화하는 방법을 보여주고 있습니다.
결과 확인하기
200
javascript
16. 객체 : 데이터 저장(키와값) : 표현방법5 : 배열안에 객체가 있는방식
배열 안에 객체를 선언했을 때
{
const obj = [
{
a: 100,
b: 200,
c: "javascript"
}
]
console.log(obj[0].a);
console.log(obj[0].b);
console.log(obj[0].c);
const obj2 = [
{
a: 100,
b: 200,
c: "javascript"
},
{
a: 300,
b: 400,
c: "jquery"
}
]
console.log(obj2[0].a);
console.log(obj2[0].b);
console.log(obj2[0].c);
console.log(obj2[1].a);
console.log(obj2[1].b);
console.log(obj2[1].c);
}
주어진 코드는 배열을 생성하고, 배열의 첫 번째 요소로 객체를 포함시키는 방법을 보여줍니다.
위 코드에서 obj 배열은 객체를 요소로 가지고 있습니다. 배열의 첫 번째 요소가 하나의 객체로 이루어져 있습니다.
obj2 배열은 2개의 객체를 요소로 가지고 있습니다.
결과 확인하기
200
javascript
100
200
javascript
300
400
jquery
17. 객체 : 데이터 저장(키와값) : 표현방법6 : 객체안에 배열이 있는방식
객체 안에 배열을 선언했을 때
{
const obj = {
a: 100,
b: [200, 300],
c:"javascript"
}
console.log(obj.a);
console.log(obj.b[0]);
console.log(obj.b[1]);
console.log(obj.c);
const obj2 = {
a: 100,
b: {x: 200, y: [300, 400]},
c:"javascript"
}
console.log(obj2.a);
console.log(obj2.b.x);
console.log(obj2.b.y[0]);
console.log(obj2.b.y[1]);
console.log(obj2.c);
}
주어진 코드는 객체를 생성하고, 객체의 각 프로퍼티에 배열과 문자열을 할당하는 방법을 보여줍니다.
위 코드에서 obj 객체는 a, b, c,를 가지고 있습니다.
b는 배열을 값으로 가지고 있고, c는 문자열을 값으로 가지고 있습니다.
obj2 객체중 b는 객체 안의 속성 b에 중첩된 객체
{ x: 200, y: [300, 400] }를 할당합니다.
이 중첩된 객체는 속성 x와 배열 y를 가지고 있습니다.
결과 확인하기
200
300
javascript
100
200
300
400
javascript
18. 객체 : 데이터 저장(키와값) : 표현방법7 : 객체안에 객체가 있는방식
객체 안에 객체를 선언했을 때
{
const obj = {
a: 100,
b: {x: 200, y: 300},
c: "javascript"
}
console.log(obj.a);
console.log(obj.b.x);
console.log(obj.b.y);
console.log(obj.c);
const obj2 = {
a: 100,
b: {x: 200, y: {d: 300, e: {f: 400, g: 500}}},
c: "javascript"
}
console.log(obj2.a);
console.log(obj2.b.x);
console.log(obj2.b.y.d);
console.log(obj2.b.y.e.f);
console.log(obj2.b.y.e.g);
console.log(obj2.c);
}
주어진 코드는 두 개의 객체 obj와 obj2를 정의하고, 이 객체들의 속성을 참조하여 값을 출력하는 예제입니다.
위 코드에서 obj와 obj2는 두 개의 객체를 나타내며, 객체 내의 중첩된 속성을 점(.)으로 연결하여 접근할 수 있습니다.
이를 통해 각각의 속성 값들을 출력하고 있습니다.
중첩된 객체의 경우에도 동일한 방식으로 중첩된 속성에 접근할 수 있습니다.
결과 확인하기
200
300
javascript
100
200
300
400
500
javascript
19. 객체 : 데이터 저장(키와값) : 표현방법8 : 객체 + 함수가 있는 방식
객체 obj를 정의하고 그 안에 다양한 키와 값을 포함하고 있습니다.
{
const obj = {
a: 100,
b: [200, 300],
c: {x: 400, y: 500},
d: "javascript",
e: function(){
console.log("javascript");
},
f: function(){
console.log(obj.d);
},
g: function(){
console.log(this.d);
};
};
console.log(obj.a);
console.log(obj.b[0]);
console.log(obj.b[1]);
console.log(obj.c.x);
console.log(obj.c.y);
console.log(obj.d);
obj.e();
obj.f();
obj.g();
}
obj.e()는 객체 obj의 e 메서드를 호출하고 "javascript"를 출력합니다.
obj.f()는 객체 obj의 f 메서드를 호출하고 obj.d를 출력합니다. 이 때 obj.d는 "javascript"입니다.
obj.g()는 객체 obj의 g 메서드를 호출하고 this.d를 출력합니다. 여기서 this는 현재 객체인 obj를 가리키며, obj.d 역시 "javascript"입니다.
결과 확인하기
200
300
400
500
javascript
javascript
javascript
javascript
20. 객체 : 데이터 저장(키와값) : 표현방법9 : 객체 구조 분해 할당
주어진 코드는 객체 디스트럭처링(Destructuring)을 사용하여 객체의 속성을 변수에 할당하고 그 값을 출력하는 예제입니다.
{
const obj = {
a: 100,
b: 200,
c: "javascript"
}
const { a, b, c } = obj;
console.log(a);
console.log(b);
console.log(c);
{
const obj = {
a: 100,
b: {x: 200, y: 300},
c: "javascript"
}
const { a, b: { x, y }, c } = obj;
console.log(a);
console.log(x);
console.log(y);
console.log(c);
}
}
여기서 중요한 개념은 객체 디스트럭처링을 통해 객체의 속성을 변수로 분해(assign)했다는 점입니다.
a, b, c 변수가 각각 obj 객체의 a, b, c 속성에 해당하는 값을 가지게 됩니다.
{ b: { x, y }, c }는 obj 객체의 속성 b를 분해하는데, x는 b.x, y는 b.y의 값을 가집니다.
이러한 방식으로 중첩된 객체의 값을 추출할 수 있습니다.
결과 확인하기
200
javascript
100
200
300
javascript
21. 객체 : 데이터 저장(키와값) : 표현방법10 : 객체 펼침연산자
객체 안에 객체를 선언했을 때
{
const obj1 = { a: 100, b:200, c: "javascript"};
const obj2 = { ...obj1, d: "jquery" };
const obj3 = { ...obj1, ...obj2 };
console.log(obj1);
console.log(obj2);
console.log(obj2.b);
console.log(obj2.c);
console.log(obj2.d);
console.log(obj3);
}
1. obj1 객체를 정의합니다.
2. obj2 객체를 생성합니다. 이때, ...obj1은 객체 obj1의 속성을 펼쳐서 가져온 다음, d: "jquery"를 추가하여 새 객체를 생성합니다.
따라서 obj2는 { a: 100, b: 200, c: "javascript", d: "jquery" } 형태가 됩니다.
3. obj3 객체를 생성합니다. 여기서는 ...obj1과 ...obj2를 함께 사용하여 두 객체의 속성을 병합하여 새 객체를 생성합니다.
결과 확인하기
{a: 100, b: 200, c: javascript, d: jquery}
200
javascript
jquery
{a: 100, b: 200, c: javascript, d: jquery}
22. 파일 : 데이터 교환(JSON)
json파일로 데이터 교환
// json 데이터를 객체로 변환
const jsonString = '{"name": "webs", "age": "30"}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name);
//webs
// 객체를 json 데이터로 변환
const personString = {name: "webs", age: 30};
const jsonPerson = JSON.stringify(person);
console.log(jsonPerson);
// '{"name": "webs", "age": "30"}'
1. jsonStringJSON 데이터를 나타내는 문자열입니다. 여기에는 "name" 및 "age" 속성이 있는 개체가 포함되어 있습니다.
2. JSON.parse(jsonString)JSON 문자열을 JavaScript 객체로 구문 분석하는 데 사용됩니다.
3. jsonObject이제 구문 분석된 JSON 데이터가 포함되어 있으며 JavaScript 개체와 마찬가지로 해당 속성에 액세스할 수 있습니다. 이 경우 "webs"를 출력하는 "name" 속성을 콘솔에 기록합니다.
4. person"name" 및 "age" 속성을 가진 JavaScript 개체입니다.
5. JSON.stringify(person)JavaScript 개체를 JSON 형식의 문자열로 변환하는 데 사용됩니다. 결과 문자열은 jsonPerson유효한 JSON 형식입니다.
6. jsonPerson이제 객체의 JSON 표현이 포함됩니다 person. 콘솔에 기록되면 JSON 문자열이 표시됩니다 {"name": "webs", "age": 30}.
7. 그래서 JSON.parse()는 JSON 데이터를 JavaScript 개체로 변환하는 데 사용되며, JSON.stringify()JavaScript 개체를 JSON 형식의 문자열로 변환하는 데 사용됩니다. 이러한 작업은 웹 애플리케이션에서 클라이언트와 서버 간에 데이터를 전송할 때와 같이 JavaScript에서 JSON 데이터로 작업할 때 필수적입니다.
결과 확인하기
지역변수 + 전역변수
지역 변수(Local Variable)와 전역 변수(Global Variable)는 프로그래밍에서 변수의 범위(scope)를 나타내는 중요한 개념입니다. 이들 변수는 변수가 유효한 범위 내에서만 접근 및 사용할 수 있습니다.
{
let x = 100; //전역변수
let y = 200; //전역변수
let z = "javascript"; //전역변수
console.log("함수밖1:" + x, y, z);
function func(){
let x = 300; //지역변수
y += 400; //전역변수 y의 값에 400을 추가
let z = "jquery"; //전역변수 z의 값에 문자열 "jquery"를 추가
console.log("함수안:" + x, y, z);
}
func();
console.log("함수밖2:" + x, y, z);
}
x, y, z 변수가 전역 범위에서 정의되었습니다. 따라서 이들 변수는 스크립트 어디에서든 접근할 수 있습니다.
console.log("함수밖1:" + x, y, z);는 전역 범위에서 x, y, z 변수의 값을 출력합니다.
function func() { ... }는 함수 func를 정의합니다. 함수 내부에서 x는 지역 변수로 선언되어 함수 내부에서만 유효합니다.
함수 내부에서 y += 400;는 전역 변수 y의 값을 400 증가시킵니다.
함수 내부에서 z = "jquery";는 전역 변수 z의 값을 "jquery"로 변경합니다.
console.log("함수안:" + x, y, z);는 함수 내부의 x, 전역 변수 y, 그리고 함수 내부의 z 값을 출력합니다.
func();를 호출하여 함수를 실행합니다. 이 때 함수 내부에서의 값 변경이 이루어집니다.
console.log("함수밖2:" + x, y, z);는 함수 밖에서 x, y, z 변수의 값을 출력합니다. 이 값은 함수 내부에서 변경된 값들을 반영합니다.
결과 확인하기
함수안: 300 600 jquery
함수밖2: 100 600 javascript
연산자 : 산술 연산자
산술 연산자에는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)가 있습니다.
산술 연산자로 연산을 하기 위해서는 연산 대상 데이터가 반드시 2개 있어야합니다.
{
let x = 10;
let y = 5;
let z = 3;
console.log(x+y);
console.log(x-y);
console.log(x*y);
console.log(x/y);
console.log(x%y);
console.log(x%z);
}
자바스크립트에서 산술 연산자는 숫자 값을 사용하여 다양한 수학적 연산을 수행하는데 사용됩니다.
다양한 산술 연산자를 통해 숫자를 더하거나 빼는 등의 연산을 수행할 수 있습니다.
결과 확인하기
5
50
2
0
1
연산자 : 산술 연산자
산술 연산자에는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)가 있습니다.
산술 연산자로 연산을 하기 위해서는 연산 대상 데이터가 반드시 2개 있어야합니다.
{
let x = 10;
let y = 5;
let z = 3;
console.log(x+y);
console.log(x-y);
console.log(x*y);
console.log(x/y);
console.log(x%y);
console.log(x%z);
}
종류 | 기본형 | 설명 |
---|---|---|
+ | A+B | 더하기 |
- | A-B | 빼기 |
* | A*B | 곱하기 |
/ | A/B | 나누기 | % | A%B | 나머지 |
결과 확인하기
5
50
2
0
1
연산자 : 문자 결합 연산자
문자 결합 연산자는 연산 대상 데이터가 문자형 데이터입니다.
여러개의 문자를 하나의 문자형 데이터로 결합할때 사용합니다
{
let x = "학교종이";
let y = "땡땡땡";
let z = 8282;
let q = "모이자"
console.log(x+y+z+q);
}
문자형 데이터 + 숫자형 데이터 = 하나의 문자형 데이터
(ex)."100"+200= "100200"
결과 확인하기
연산자 : 대입 연산자
대입 연사자(=)는 연산된 데이터를 변수에 저장할 때 사용합니다.
복합 대입 연산자(+=, -=, *=, /=, %=)는 산술 연산자와 대입 연산자가 복합적으로 적용된 것을 말합니다.
{
let x = 10;
let y = 3;
console.log(x+=y);
console.log(x-=y);
console.log(x*=y);
console.log(x%=y);
}
산술 연산자와 복합 대입 연산자의 차이점은 그 목적과 동장 방식에 있습니다.
산술 연산자는 숫자들 간의 수학적 계산을 수행하는데 사용되고, 복합 대입 연산자는 변수의 값을 변경하거나 업데이트하는 데 사용됩니다
결과 확인하기
10
30
0
연산자 : 증감 연산자
증감 연산자는 변수의 값을 1만큼 증가시키거나 감소시키는데 사용됩니다.
{
var num1 = 10;
var num2 = 20;
var rersult;
num1--;
console.log(num1);
num1++;
console.log(num1);
result = num2++;
console.log(result, num2);
result = ++num2;
console.log(result, num2);
}
증감 연산자는 변수의 어느 위치에 오는가에 따라 결괏값이 달라집니다.
결과 확인하기
10
20 21
22 22
연산자 : 비교 연산자
두 데이터를 "크다, 작다, 같다"와 같이 비교할 떄 사용하는 연산자입니다.
연산된 결괏값은 true(참), false(거짓)로 논리형 데이터를 반환합니다.
{
let a = 10;
let b = 20;
let c = 10;
let f = "20";
console.log(a > b);
console.log(a < b);
console.log(a <= b);
console.log(a >= b);
console.log(b == f);
console.log(a != b);
console.log(b === f);
}
비교 연산자 ==와 !=는 피연산자의 자료형이 비교 연산자의 실행 결과에 미치지 않습니다.
비교 연산자 중 ===와 !==는 피연산자의 자료형에 따라 결괏값이 달라집니다.
결과 확인하기
true
true
false
true
true
false
연산자 : 논리 연산자
논리 연산자에는 ||(or), &&(and), !(not)가 있습니다
피연산자가 논리형 데이터인 true 또는 false로 결괏값을 반환합니다.
{
let a = 20;
let b = 30;
console.log(a > 0 || b > 0);
console.log(a < 0 || b < 0);
console.log(a > 0 && b > 0);
console.log(a > 0 && b < 0);
console.log(!(a > 0));
console.log(!(a < 0));
}
|| : or 연산자라 부르며, 피연산자 중 하나라도 true이면 true로 결괏값을 반환합니다.
&& : and 연산자라 부르며, 피연산자 중 값이 하나라도 false가 존재하면 lalse로 결괏값을 반환합니다.
! : not 연산자라 부르며, 논리 부정 연산자, 단항 연산자이며 피연산자의 값이 true이면 반대로 false로 결괏값을 반환합니다.
결과 확인하기
false
true
false
false
true
연산자 우선순위
비교 연산자와 논리연산자가 함께 포함되어 있다면 연산자 우선순위에 따라 비교 연산이 먼저 실행되고 그 다음 논리 연산자가 실행됩니다.
{
let a = 10;
let b = 20;
let m = 30;
let n = 40;
console.log(a>b||b>=m||m>n);
console.log(a>b||b>=c||m<=n);
console.log(a<=b&&b>=m&&m<=n);
console.log(a<=b&&b<=m&&m<=n);
console.log(!(a>b));
}
1. ()
2. 단항 연산자(--, ++, !)
3. 산술 연산자(*, /, %, +, -)
4. 비교 연산자(>, >=, <, <=, ==, ===, !==, !=)
5. 논리 연산자(&&, ||)
6. 대입(복합 대입) 연산자(=, +=, -=, *=, /=, %=)
결과 확인하기
true
false
true
true
연산자 : 삼항 조건 연산자
삼항 조건 연산자는 조건식의 결과에 따라 실행 결과가 달라지는 삼항연산자로, 연산을 위해 피연산자 3개 필요합니다.
{
let a = 10;
let b = 3;
let result = a > b ? "javascript" : "hello";
console.log(result); //a가 크므로 "javascript"가 출력됨
}
condition은 평가되는 조건입니다. 여기서는 a > b로, a가 b보다 큰지를 확인합니다.
조건이 참(true)이면 expr1로 이동하고, 조건이 거짓(false)이면 expr2로 이동합니다.
이 코드에서는 a가 b보다 크므로 조건은 참이 되고, 따라서 result에는 "javascript"가 할당됩니다. 이후 console.log(result)로 result 값을 출력하면 "javascript"가 출력됩니다.
결과 확인하기
연산자 : 비트 연산자
비트 연산자는 비트 단위로 데이터를 조작하는 데 사용되며, 주로 정수 데이터의 비트 패턴을 조작하거나 검사하는 데 활용됩니다
{
const a = 5; // 이진 표현: 0101
const b = 3; // 이진 표현: 0011
const result = a & b; // 비트 AND 연산: 0001 (1)
console.log(result); // 출력: 1
}
비트 AND 연산자는 두 비트가 모두 1인 경우에만 결과 비트를 1로 설정하고, 나머지 경우에는 0으로 설정합니다.