본문 바로가기

자바스크립트 (JavaScript)33

[ 연산자와 구문 ] 산술, 할당, 증감 연산자 // 산술 (Arithmetic) console.log(1 + 2) // 3 console.log(5 - 7) // -2 console.log(3 * 4) // 12 console.log(10 / 2) // 5 console.log(7 % 5) // 2 (7을 5로 나눈 나머지) ( % : 나머지 연산자) function isEven(num) { return num % 2 === 0 // 짝수 } console.log(isEven(2)) // true console.log(isEven(3)) // false // =========================================================== // 할당 (Assignment) const a = 3 console.log(a) //.. 2023. 10. 31.
[ JS 데이터 ] 데이터 타입 확인 // [ JS 데이터 ] 데이터 타입 확인 const a = 123 console.log(typeof a) // number console.log(typeof 'Hello') // string console.log(typeof 'Hello' === 'string') // true console.log(typeof 123 === 'number') // true console.log(typeof false === 'boolean') // true console.log(typeof undefined === 'undefined') // true // null / [] (배열) / {} (객체) // 는 모두 object 라는 단어로 확인이 된다. // 즉, null 과 배열, 객체는 typeof로 구분이 불가능.. 2023. 10. 31.
[ JS 데이터 ] 참과 거짓 (Truthy & Falsy) // [ JS 데이터 ] 참과 거짓 (Truthy & Falsy) if (true) { // 참 ! console.log('참 !') } if (false) { // 조건이 false 이므로, if 문 내부 로직을 통과 한다. console.log('Test !') } if (123) { // 숫자 123은 true 이다. console.log('참 !') } if (0) { // 숫자 0은 false 이다. console.log('Test !') } if ('0') { // 문자열 데이터 '0'은 true 이다. console.log('참 !') } // 정리하자면, if 문의 조건으로 들어가는 거의 대부분의 데이터는 참 == true 에 해당 된다. // 이때, 자바스크립트의 데이터 중에서 거짓 ==.. 2023. 10. 31.
[ JS 데이터 ] 형 변환 (Type Conversion) // [ JS 데이터 ] 형 변환 (Type Conversion) const a = 1 // Number const b = '1' // String // 일치 연산자 : === console.log(a === b) // false // 동등 연산자 : == // 동등 연산자는 데이터를 직접 형 변환 하면서 비교를 하게 된다. // 숫자 1과 문자열 '1' 은 형 변환이 발생 하게 되면 충분히 // 1 == 1 로 같아 지거나, '1' == '1' 로 같아 질 수 있다. console.log(a == b) // true // 따라서 JS 에서 되도록이면 동등 연산자 사용을 지양 하고, 일치 연산자 사용을 지향 해야 한다. // 원치 않은 타입 강제 변환이 발생 할 수 있기 때문 이다. const c = 0.. 2023. 10. 31.
[ JS 데이터 ] 참조형 - Function // [ JS 데이터 ] 참조형 - Function function hello() { console.log('Hello !') } hello() // 함수 호출 (call) => Hello ! // 만약에 hello() 가 아니라 hello 만 작성 하면 어떠한 개념 일까 ? // 함수명에 소괄호 () 를 붙히는 것 => 해당 함수를 호출. // 즉, 소괄호 () 를 붙히지 않으면, 함수를 호출 하지 않음. // 함수명 만 작성시 => 함수 그 자체 (덩어리) 라고 생각 하면 된다. console.log(hello) // 함수의 정보 그 자체가 나오는 것을 볼 수 있다. // =========================================================== function get.. 2023. 10. 30.
[ JS 데이터 ] 참조형 - Object // [ JS 데이터 ] 참조형 - Object // Object (객체) const user = new Object() user.name = 'Hwanii' user.age = 28 console.log(user) // name: 'Hwanii', age: 28 => key : value 의 구조 // ========================================================================= function User2() { // 함수를 사용하고, this.프로퍼티로 내부에 값을 부여해서 작성하는 방식. this.name = 'Hwanii' this.age = 28 } const user2 = new User2() // new 키워드를 사용 해서 User2() .. 2023. 10. 30.
[ JS 데이터 ] 참조형 - Array // [ JS 데이터 ] 참조형 - Array // Array (배열) // new 키워드와 함께 호출 하는 함수 => 생성자 함수 or 자바스크립트 클래스 const fruits = new Array('Apple', 'Banana', 'Cherry') console.log('fruits : ' + fruits) // Apple,Banana,Cherry // 하지만 배열을 사용 할 때, new 키워드로 위와 같이 인자에 값을 넣는것은 불편한 문법. // 따라서 아래와 같이 [ ] 를 사용 한다. const fruits2 = ['Apple', 'Banana', 'Cherry'] // 리터럴 방식. => Array 리터럴 (배열 리터럴) console.log(fruits2) console.log('fruit.. 2023. 10. 30.
[ JS 데이터 ] 원시형 - Boolean, null, undefined // [ JS 데이터 ] 원시형 - Boolean, null, undefined // Boolean (불리언) const a = true const b = false if (b) { // false console.log('if : Hello') } else { // !(false) console.log('else : Hello') } // ========================================================================= let age = null // null => 명시적이다. == 존재 하지 않다. / 값이 비어 있다. / 값을 알 수 없다. console.log(age) // null setTimeout(function () { age = 28 con.. 2023. 10. 30.
[ JS 데이터 ] 원시형 - String, Number // [ JS 데이터 ] 원시형 - String, Number // " " / ' ' 은 취향의 차이 이다. // ` ` 은 어떠한 데이터를 문자형 데이터 내부에 추가하여 채워 넣을 때 사용 한다. // ${} 을 사용 하고, 이러한 방식을 템플릿 리터럴 이라고 부른다. const string1 = "Hello" // 큰 따옴표. const string2 = 'Hello' // 작은 따옴표. const string3 = `Hello ${string1} ?!` // 백틱을 사용한 템플릿 리터럴 방식. console.log(string2) // Hello console.log(string3) // Hello Hello ?! // ============================================.. 2023. 10. 29.