01. 변수 : 데이터 저장
자바스크립트에서 변수는 데이터를 저장하고 관리하기 위한 이름이 지정된 메모리 공간입니다. 변수를 사용하여 숫자, 문자열, 불리언 값 등 다양한 데이터 유형을 저장하고 처리할 수 있습니다.
{
var x = 100; // 변수 x에 숫자 100을 저장
var y = 200; // 변수 y에 숫자 200을 저장
var z = "javascript"; // 변수 z에 문자 javascript를 저장
console.log(x);
console.log(y);
console.log(z);
}
var : 과거에 사용되던 변수 선언 방식으로, 현재는 잘 사용하지 않습니다.
결과 확인하기
200
javascript
02. 변수 : 데이터 저장 + 데이터 변경
데이터 변경은 변수에 저장된 값을 수정하는 과정을 의미합니다. 자바스크립트에서는 변수에 할당된 데이터를 언제든지 변경할 수 있습니다. 변수에 새로운 값을 할당하거나, 기존 값에 연산을 수행하여 변경할 수 있습니다.
{
let x = 100; //변수 x에 숫자 100을 저장
let y = 200; //변수 y에 숫자 200을 저장
let z = "javascript"; //변수 z에 문자 javascript를 저장
x = 300; //변수 x의 값을 숫자 300으로 변경
y = 400; //변수 y의 값을 숫자 400으로 변경
z = "jquery"; //변수 z의 값을 문자 jquery으로 변경
console.log(x);
console.log(y);
console.log(z);
}
let : 현재 자주 쓰이는 변수 선언 방식으로, 변경이 가능하나, 재할당은 불가능합니다.
결과 확인하기
400
jquery
03. 변수 : 데이터 저장 + 데이터 변경 + 데이터 추가
데이터 추가를 통해 유동적으로 데이터를 관리하고 확장할 수 있습니다. 이를 통해 프로그램은 다양한 데이터를 저장하고 조작할 수 있게 됩니다.
{
let x = 100; //변수 x에 숫자 100을 저장
let y = 200; //변수 y에 숫자 200을 저장
let z = "javascript"; //변수 z에 문자 javascript를 저장
x += 100; // x = x + 100;
y += 100; // y = y + 100;
z += "jquery"; // z = z + "jquery";
console.log(x);
console.log(y);
console.log(z);
}
결과 확인하기
300
javascriptjquery
04. 상수 : 데이터 저장 + 변경(x)
자바스크립트(JavaScript)에서 상수는 데이터를 저장하고 변경하고, 추가할 수 없습니다.
{
const x = 100;
const y = 200;
const z = "javascript";
x = 300; //TypeEroor: Assignment to constant variable.
console.log(x);
console.log(y);
console.log(z);
}
const : 상수로써, 덮어씌우기(const x = 300), 재할당(x = 300), 추가(x += 300)가 불가능합니다.
x가 상수(constant)로 선언되어 있기 때문에 오류가 발생합니다.
결과 확인하기
200
javascript
05. 배열 : 데이터 저장(여러개) : 표현방법1 : 배열 선언
배열은 자바스크립트에서 여러 개의 값을 순차적으로 저장하는 자료구조입니다. 배열 선언은 자바스크립트에서 여러 개의 값을 하나의 변수에 저장하기 위한 방법입니다. 배열은 여러 개의 요소(element)를 순차적으로 저장하며, 각 요소는 인덱스(index)를 통해 접근할 수 있습니다.
{
const arr = new Array();
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
06. 배열 : 데이터 저장(여러개) : 표현방법2 : 배열 선언과 동시에 초기값 설정
배열을 선언하면서 동시에 초기값을 설정하는 것은 자바스크립트에서 흔히 사용되는 방법 중 하나입니다. 배열을 선언할 때 초기값을 지정함으로써 배열 내부에 바로 데이터를 포함시킬 수 있습니다.
{
const arr = new Array(100, 200, "javascript");
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
07. 배열 : 데이터 저장(여러개) : 표현방법3 : [](리터럴) 방식으로 배열 선언
리터럴 방식으로 배열을 선언하는 것은 코드의 가독성을 높이고 초기화를 간편하게 수행하기 위한 방법입니다. 배열을 리터럴 방식으로 선언하면 코드 작성이 간결해집니다.
{
const arr = [];
arr[0] = 100;
arr[1] = 200;
arr[2] = "javascript";
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
08. 배열 : 데이터 저장(여러개) : 표현방법4 : [](리터럴) 방식으로 배열 선언과 동시에 초기값 설정
리터럴 방식으로 배열을 선언하고 동시에 초기값을 설정하는 방법은 배열의 내용을 직접 선언할 때 주로 사용되며, 가독성 향상, 간결한 코드, 코드 유지 보수 간편, 간편한 데이터 정의 등의 이점이 있습니다.
{
const arr = [100, 200, "javascript"];
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
}
결과 확인하기
200
javascript
09. 배열 : 데이터 저장(여러개) : 표현방법5 : 2차 배열
2차 배열은 배열의 배열로 구성된 데이터 구조를 나타냅니다. 각 배열 내에 또 다른 배열이 포함된 것으로, 행렬 연산이나 다차원 데이터를 다룰 때 유용합니다.
{
const arr = [100, [200, 300], ["javascript", "jqeury"]]
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 : 배열 구조 분해 할당
배열 구조 분해 할당은 배열의 각 요소를 분해하여 여러 개의 변수에 할당하는 기능입니다. 이를 통해 배열의 요소를 편리하게 추출하고 변수에 할당할 수 있습니다. 배열 구조 분해 할당은 ES6 (ECMAScript 2015)에서 도입된 기능으로, 코드를 간결하게 작성하고 가독성을 향상시키는 데 도움을 줍니다.
{
const arr = [100, 200, "javascript"];
const [a, b, c] = arr;
console.log(a);
console.log(b);
console.log(c);
}
결과 확인하기
200
javascript
11. 배열 : 데이터 저장(여러개) : 표현방법7 : 배열 펼침연산자
배열 펼침 연산자 (Spread Operator)는 배열의 요소를 개별적인 값으로 분해하여 다른 배열이나 함수 호출과 같은 곳에서 사용할 수 있게 해주는 기능입니다. 이 연산자는 ... 기호를 사용하여 표현하며, 주로 배열을 복사하거나 다른 배열에 요소를 추가하거나 함수에 인수로 전달할 때 사용됩니다.
{
const arr1 = [100, 200, "javascript"];
const arr2 = [300, 400, "jaquery"];
const arr3 = [...arr1, 500];
console.log(arr1);
console.log(...arr1);
console.log(...arr1, ...arr2);
console.log(...arr3);
}
결과 확인하기
100 200 javascrpt
100 200 javascript 300 400 jquery
100 200 javascript 500
12. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법1 : 객체 선언 후 배열방식으로 데이터 입력
객체 선언 후 배열 방식으로 데이터를 입력하는 것은 객체의 속성을 배열 형태로 초기화하는 방법입니다. 이를 통해 객체를 생성하고 동시에 속성을 정의할 수 있습니다.
{
const obj = new Object();
obj[0] = 100;
obj[1] = 200;
obj[2] = "javascript";
console.log(obj[0]);
console.log(obj[1]);
console.log(obj[2]);
}
const obj = new Object();는 새로운 빈 객체를 생성하는 방법 중 하나입니다. 이것은 객체를 생성하고 초기화할 때 사용되며, 기본적으로 빈 객체를 만들기 위한 방법입니다.
결과 확인하기
200
javascript
13. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법2 : 객체 선언 후 객체방식으로 데이터 입력
객체 선언 후 객체 방식으로 데이터를 입력하면 객체를 생성함과 동시에 속성을 정의할 수 있습니다. 초기 데이터를 동적으로 입력하거나 여러 단계에 걸쳐 입력해야 할 때 유용합니다.
{
const obj = new Object();
obj.a = 100;
obj.b = 200;
obj.c = "javascript";
console.log(obj.a);
console.log(obj.b);
console.log(obj.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);
}
결과 확인하기
200
javascript
15. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법4 : {}(리터럴) 방식으로 객체 선언과 동시에 초기값 설정
객체를 선언하고 동시에 초기 데이터를 입력하는 방식으로, 객체의 속성과 값이 한 줄에 모두 나열되므로 가독성이 높고 코드가 간결해집니다. 초기 데이터가 고정되어 있거나 작성 시점에 알려진 경우에 유용합니다.
{
const obj = {
a: 100,
b: 200,
c: "javascript";
}
console.log(obj.a);
console.log(obj.b);
console.log(obj.c);
}
객체는 이름-값 쌍을 포함하는 자료구조로, 중괄호 {} 내에 속성(key)과 그에 대응하는 값(value)을 정의하여 표현합니다.
결과 확인하기
200
javascript
16. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법5 : 배열안에 객체가 있는 방식
배열 안에 객체가 있는 방식은 자바스크립트에서 배열의 각 요소로 객체를 포함시키는 것을 말합니다. 이를 통해 배열 내부에 여러 종류의 데이터를 함께 저장하고 관리할 수 있습니다.
{
const obj = [
{
a: 100,
b: 200,
c: "javascript",
},
{
a: 300,
b: 400,
c: "jquery",
}
]
console.log(obj[0].a)
console.log(obj[0].b)
console.log(obj[0].c)
console.log(obj[1].a)
console.log(obj[1].b)
console.log(obj[1].c)
}
결과 확인하기
200
javascript
300
400
jquery
17. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법6 : 객체안에 배열이 있는 방식
객체 안에 배열이 있는 방식은 자바스크립트에서 객체 내부에 배열을 속성으로 포함시키는 것을 의미합니다. 이렇게 하면 객체 내부에서 배열을 사용하여 여러 개의 데이터를 관리하거나 그룹화할 수 있습니다. 이 패턴은 데이터를 조직화하고 중첩된 정보를 표현하는 데 유용합니다.
{
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);
}
결과 확인하기
200
300
400
javascript
18. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법7 : 객체안에 객체가 있는 방식
객체 안에 객체가 있는 방식은 자바스크립트에서 객체 내부에 다른 객체를 속성으로 포함시키는 것을 의미합니다. 이렇게 하면 객체를 중첩하여 복잡한 데이터 구조를 만들거나 관리할 수 있습니다. 중첩된 객체를 사용함으로써 데이터를 계층화하고 보다 정교한 구조를 구현할 수 있습니다.
{
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);
}
결과 확인하기
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();
}
this : 자기 자신 표현을 표현합니다.
메서드(Method): 객체 내에 정의된 함수를 말합니다. 객체가 데이터와 해당 데이터를 조작하는 동작을 함께 포함할 수 있도록 해주는 요소입니다. 메서드는 객체 지향 프로그래밍의 중요한 개념 중 하나이며, 객체의 행동을 표현하고 객체 간의 상호 작용을 가능하게 합니다.
결과 확인하기
200
300
400
500
javascript
javascript
javascript
javascript
20. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법9 : 객체 구조 분해 할당
객체 구조 분해 할당(Object Destructuring Assignment)은 객체의 속성을 추출하여 변수로 분해하는 기능입니다. 이를 통해 객체 내의 데이터를 빠르게 가져올 수 있습니다. 객체의 각 속성은 해당 속성 이름과 동일한 변수 이름으로 할당됩니다. 리엑트에서 자주 쓰입니다.
{
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);
}
결과 확인하기
200
300
javascript
21. 객체 : 데이터 저장(키(속성)와 값(매서드)) : 표현방법10 : 객체 펼침연산자
객체 펼침 연산자(Object Spread Operator)는 객체의 속성들을 새로운 객체로 펼쳐주는 기능입니다. 이를 사용하여 객체를 복사하거나 새로운 속성을 추가하거나 기존 속성을 덮어쓸 수 있습니다. 객체 펼침 연산자는 ... 기호를 사용하여 표현하며, 주로 객체를 조작하고 복제하는 데 사용됩니다. 11번의 배열 펼침연산자와는 다르게 {} 안의 a, b, c를 한 번에 출력하지 못합니다.
{
const obj1 = { a: 100, b: 200, c: "javascript"};
const obj2 = { ...obj1, d: "jquery"};
const obj3 = { ...obj1, ...obj2}
console.log(obj2.a);
console.log(obj2.b);
console.log(obj2.c);
console.log(obj2.d);
console.log(obj3);
}
결과 확인하기
200
javascript
jquery
{a: 100, b: 200, c: 'javascript', d: 'jquery'}
22. 파일 : 데이터 교환(JSON)
JSON(JavaScript Object Notation)은 데이터를 표현하고 교환하기 위한 경량의 데이터 형식입니다. JSON은 텍스트로 구성되며, 사람이 읽고 쓰기 쉽고, 기계가 해석하고 생성하기도 쉽습니다. 주로 웹 애플리케이션과 서버 간 데이터 교환 형식으로 사용됩니다.
{
// JSON 데이터를 객체로 변환
const jsonSrting = '{"name": "webs", "age": "30"}';
const jsonObject = JSON.parse(jsonSrting);
console.log(jsonObject.name);
// 객체를 json 데이터로 변환
const person = {name: "webs", age: 30};
const jsonPerson = JSON.stringify(person);
console.log(jsonPerson);
}
JSON.parse(jsonString): 이 함수는 JSON 형식의 문자열(jsonString)을 JavaScript 객체로 변환합니다. JSON 문자열은 이중 따옴표로 묶인 키-값 쌍을 포함하며, 객체의 속성 및 값을 정의합니다. 이 함수를 사용하여 JSON 문자열을 객체로 변환하고 객체 속성에 접근할 수 있습니다.
JSON.stringify(obj): 이 메서드는 JavaScript 객체(obj)를 JSON 형식의 문자열로 변환합니다. 객체를 JSON 문자열로 변환하면 데이터를 전송하거나 저장하기 용이하며, 이 문자열을 나중에 다시 JSON 객체로 파싱할 수 있습니다.
결과 확인하기
{"name":"webs","age":30}
++ 지역변수 / 전역변수 ++
지역변수 (Local Variables) : 지역변수는 특정 함수나 코드 블록 내에서 선언된 변수로, 해당 함수 또는 코드 블록 내에서만 유효합니다. 함수 내에서 선언한 변수나 매개변수는 그 함수 내에서만 접근할 수 있으며, 외부에서는 사용할 수 없습니다.
전역변수 (Global Variables) : 전역변수는 코드 어디에서든 접근 가능한 변수로, 함수나 코드 블록 외부에서 선언된 변수를 말합니다. 전역변수는 프로그램의 어느 곳에서나 접근 가능하지만, 오랜 기간 동안 유지되며 코드 관리 측면에서 주의가 필요합니다.
{
let x = 100;
let y = 200;
let z = "javascript"; //세 개의 전역변수를 선언하고 초기값을 할당합니다.
console.log("함수밖1:" + x, y, z);
function func(){
let x = 300; //지역변수
y += 400; //전역변수 y의 값에 400을 추가
z = "jquery"; //전역변수 z의 값에 문자열 "jquery"를 추가
console.log("함수안:" + x, y, z);
}
func();
console.log("함수밖2:" + x, y, z);
}
함수 내에서 선언된 지역변수 x는 함수 내에서만 유효하며, 함수 내에서 변경된 전역변수 y와 z는 함수 외부에서도 변경된 값을 유지합니다.
결과 확인하기
함수안:300 600 jquery
함수밖2:100 600 jquery
++ 연산자 - 산술 ++
산술 연산자는 숫자 값들 사이에서 다양한 산술적 계산을 수행하는 데 사용됩니다. 주요 산술 연산자에는 덧셈, 뺄셈, 곱셈, 나눗셈 등이 있습니다.
{
let a = 6;
let b = 3;
let sum = a + b; //덧셈 연산자(+)
let difference = a - b; //뺄셈 연산자(-)
let product = a * b; //곱셈 연산자(*)
let quotient = a / b; //나눗셈 연산자(*)
let remainder = a % b; //나머지 연산자(%)
}
결과 확인하기
3
18
2
0
종류 | 기본형 | 설명 |
---|---|---|
덧셈 연산자 | let sum = a + b; | 2222 |
뺄셈 연산자 | let difference = a - b; | 3333 |
곱셈 연산자 | let product = a * b; | 4444 |
나눗셈 연산자 | let quotient = a / b; | 4444 |
나머지 연산자 | let remainder = a % b; | 4444 |
++ 연산자 - 대입 ++
대입 연산자는 변수에 값을 할당하는 역할을 합니다. 대입 연산자는 등호(=)를 사용하여 표현하며, 변수에 값을 할당할 때 사용합니다.
{
let x = 10; // 변수 x에 10을 할당
let y = 5; // 변수 y에 5을 할당
x = y; // 변수 x에 변수 y의 값(5)을 할당
console.log(x);
}
결과 확인하기
++ 연산자 - 증강 ++
증강 연산자(Increment Operators)는 변수의 값을 1씩 증가시키는 역할을 합니다. 주로 반복문이나 변수의 값에 1을 더할 때 사용됩니다. 대부분의 프로그래밍 시나리오에서 변수를 증가시키는 경우가 더 흔하기 때문에 감소연산자보다 자주 사용됩니다.
{
let count = 5; // 변수 count에 5를 할당
count++; // count를 1 증가시킴 (증강 연산자)
console.log(count);
count--; // count를 1 감소시킴 (감소 연산자)
console.log(count);
}
감소 연산자 : 증강 연산자보다는 덜 사용되지만, 역순으로 배열을 순회하거나, 역순으로 인덱스를 활용해 작업을 수행하는 경우에 감소 연산자가 유용할 수 있습니다.
결과 확인하기
4
++ 연산자 - 비교 ++
비교 연산자는 값들을 비교하여 참(true) 또는 거짓(false)을 반환하는 연산자입니다. 다양한 비교 연산자가 있으며, 주로 조건문과 논리 연산에서 활용됩니다.
{
{
let x = 5;
let y = "5";
console.log(x == y); // 값만 비교함
console.log(x === y); // 값, 타입 비교함
}
{
let x = 5;
let y = 10;
console.log(x != y); // 값 비교
}
{
let x = 5;
let y = "5";
console.log(x !== y); // 값, 타입 비교
}
{
let x = 10;
let y = 5;
console.log(x > y);
console.log(x < y);
console.log(x >= y);
console.log(x <= y);
}
}
동등(==) 연산자: 두 값이 같은지 비교합니다.
일치(===) 연산자 : 값과 타입이 모두 같은지 비교합니다.
부등(!=) 연산자 : 두 값이 다른지 비교합니다.
불일치(!==) 연산자 : 값과 타입이 모두 다른지 비교합니다.
크다(>) 연산자와 작다(<) 연산자 : 값의 크기를 비교합니다.
크거나 같다(>=) 연산자와 작거나 같다(<=) 연산자 : 값의 크기를 비교하며 등호를 포함합니다.
결과 확인하기
false
true
true
true
false
true
false
++ 연산자 - 논리 ++
논리 연산자는 논리적인 조건을 결합하거나 부정하는 데 사용되는 연산자입니다. 주로 조건문과 논리적인 상황에서 조건을 만들 때 활용됩니다.
{
{
let x = 5;
let y = 10;
if (x > 0 && y > 0) { //두 조건이 모두 참일 때만
console.log("A");
} else {
console.log("B");
}
}
{
let x = 5;
let y = 10;
if (x > 0 || y > 0) { //두 조건 중 하나라도 참
console.log("A");
} else {
console.log("B");
}
}
{
let x = 5;
if (!(x > 0)) { //조건{(x > 0) = 참}을 반대로 뒤집음 = {(x > 0) = 거짓}
console.log("A");
} else {
console.log("B");
}
}
}
논리곱(&&) 연산자: 두 조건이 모두 참일 때만 결과가 참이 됩니다.
논리합(||) 연산자: 두 조건 중 하나라도 참이면 결과가 참이 됩니다.
논리부정(!) 연산자 : 조건이 참이면 거짓으로, 조건이 거짓이면 참으로 변경합니다. 이것은 조건문 등에서 특정 조건이 만족되지 않을 때 코드 블록을 실행하고 싶을 때 유용하게 사용됩니다.
결과 확인하기
A
B
++ 연산자 - 비트 ++
비트 연산자는 컴퓨터에서 숫자를 이진수로 표현하고 조작하는 데 사용되는 연산자입니다. 이진수는 0과 1로 구성된 숫자 체계로, 컴퓨터의 내부 동작에 매우 중요합니다. 비트 연산자는 이진수를 조작하는 데 사용되며, 주로 비트 단위의 논리 연산이나 시프트 작업에 쓰입니다. 주로 저수준 프로그래밍이나 비트 조작에 활용되며, 일반적인 상황에서는 잘 사용되지 않을 수 있습니다.
{
5(0101) & 3(0011) = ? // 두 비트가 모두 1일 때만 결과비트 1
5(0101) | 3(0011) = ? // 두 비트 중 하나라도 1이면 결과비트 1
5(0101) ^ 3(0011) = ? // 두 비트가 서로 다르면 결과비트 1
~5(0101) = ? // 비트를 반전시킴
}
비트 AND(&) 연산자 : 비트 단위로 AND 연산을 수행합니다. 두 비트가 모두 1일 때만 결과 비트가 1이 됩니다.
비트 OR(|) 연산자 : 비트 단위로 OR 연산을 수행합니다. 두 비트 중 하나라도 1이면 결과 비트가 1이 됩니다.
비트 XOR(^) 연산자 : 비트 단위로 XOR 연산을 수행합니다. 두 비트가 서로 다를 때 결과 비트가 1이 됩니다.
비트 NOT(~) 연산자 : 비트를 반전시킵니다. 0은 1로, 1은 0으로 변환됩니다.
결과 확인하기
7(0111)
6(0110)
10(1010)
++ 자료형 ++
자료형의 종류에는 숫자/문자열/논리/null/undefined/Object/Array/Function 등이 있습니다.
{
let temperature = 30.5; //숫자(Number) 자료형
let address = '123 Main Street'; //문자열(String) 자료형
let isSunny = false; //논리(Boolean) 자료형
let emptyValue = null; //null 자료형
let notDefined; //undefined 자료형
let person = { //객체(Object) 자료형
firstName: "John",
lastName: "Doe",
age: 30,
isStudent: false
};
let numbers = [1, 2, 3, 4, 5]; //배열(Array) 자료형
function greet(name){ //함수(Function) 자료형
console.log(`Hello, ${name}!`);
}
}
null : null은 변수에 값이 없음을 나타내는 특별한 값입니다. 의도적으로 값이 없다는 것을 나타내기 위해 사용되며, 객체를 나타내는데 사용될 수도 있습니다.
undefined : undefined는 변수가 선언되었지만 값이 할당되지 않았을 때 자동으로 할당되는 값입니다. 함수에서 반환하지 않은 경우나 변수에 값을 할당하지 않은 경우 등에 자주 나타납니다.