본문 바로가기
728x90

Language30

[TIL] JavaScript - tilde( ~ ), double tilde( ~~ ) 서론 알고리즘 문제를 풀면서 신기한 연산자를 봤습니다. 물결을 두 번 써서 알고리즘 문제를 풀으셨길래 궁금해서 찾아보니 double tilde 연산자가 검색되었습니다. 블로그 정리하면서 천천히 공부해 보려고 합니다. tilde( ~ ) 연산자 우선 tilde( ~ ) 연산자는 비트 연산자이며 NOT의 기능을 한다고 합니다. 비트(bit) 단위로 논리 연산을 수행하기 때문에 비트가 1이면 0으로, 0이면 1로 반전시킵니다. const a = 5; // 0000000000000101 console.log(~a); // 1111111111111010 // -6 const b = -3; // 1111111111111101 console.log(~b); // 0000000000000010 // 2 위의 식을 예로.. 2022. 12. 12.
[TIL] JavaScript - This (bind, call, apply) call call()은 이미 할당되어있는 다른 객체의 함수/메소드를 호출하는 해당 객체에 재할당할때 사용됩니다. this는 현재 객체(호출하는 객체)를 참조합니다. 메소드를 한번 작성하면 새 객체를 위한 메소드를 재작성할 필요 없이 call()을 이용해 다른 객체에 상속할 수 있습니다. 구문 func.call(thisArg[, arg1[, arg2[, ...]]]) thisArg : func 호출에 제공되는 this 의 값입니다. 예제 const pokemon = { firstName: "Pika", lastName: "Chu", getPokemonName: function () { const fullName = this.firstName + " " + this.lastName; return fullNa.. 2022. 12. 7.
[TIL] JavaScript - This This란? 다른 객체지향 언어에서는 this는 곳 클래스로 생성한 인스턴스를 말합니다. 하지만 JavaScript에서 함수의 this 키워드는 다른 언어들과 비교하여 조금 다르게 this는 어디에서나 사용될 수 있습니다. 대부분의 경우, this의 값은 함수를 호출하는 방법에 의해 결정됩니다. 실행하는 동안의 할당에 의해 설정될 수 없고, 함수가 호출될 때마다 다를 수 있습니다. this의 이해 this가 어떤 값과 연결되는 지는 this의 바인딩을 통해서 확인해 볼 수 있습니다. 바인딩이란, this의 호출 방식에 따라서 this가 특정 '객체'에 연결되는 것입니다. this의 바인딩은 일반 함수 내부, 메서드 내부, 생성자 함수 내부, Call, Apply, Bind를 통한 '호출 방식'으로 나눠서.. 2022. 12. 6.
[TIL] JavaScript - 구조 분해 할당 (Destructuring) 구조 분해 할당(Destructuring) 이란? 배열 [ ] 이나 객체 { } 의 속성을 분해해서 그 값을 변수에 담을 수 있게 해주는 문법입니다. 배열 구조 분해 // 배열의 경우 let [value1, value2] = [1, "new"]; console.log(value1); // 1 console.log(value2); // "new" let arr = ["value1", "value2", "value3"]; let [a,b,c] = arr; console.log(a,b,c) // value1 value2 value3 // let [a,b,c] = arr; 은 아래와 동일! // let a = arr[0]; // let b = arr[1]; // let c = arr[2]; //일부 반환 값 무.. 2022. 12. 5.
[TIL] JavaScript - DOM 서론 JavaScript를 공부하면서 DOM이 뭐냐는 질문을 들었을 때, 바로 대답이 안 나왔습니다... DOM을 항상 사용하면서 뭐냐는 질문이 들어오면 선뜻 대답하지 못하는 제 자신을 보고 아직 한참 멀었다는 것을 느끼게 되었습니다 그래서 다시 공부해보려 합니다!! DOM이란? 문서 객체 모델(The Document Object Model, 이하 DOM) 은 HTML, XML 문서의 프로그래밍 interface 이다. DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕는다. DOM 은 nodes와 objects로 문서를 표현한다. 이들은 웹 페.. 2022. 12. 1.
[TIL] JavaScript - Bigint 서론 알고리즘 문제를 풀다가 분명 코드는 맞게 짰는데, 중간중간에 오류가 뜨는 부분이 있었습니다. 질문하기를 통해 문제에 대해 확인해 보니 Number 원시 값의 최대치가 넘어서 오류가 발생했다고 합니다... Bigint란? Bigint는 Number 원시 값이 안정적으로 나타낼 수 있는 최대치인 2^53 - 1보다 큰 정수를 표한할 수 있는 내장 객체입니다. 출처 : MDN 2^53 - 1 보다 더 큰 수를 다룰 수 있게 됩니다. Number 타입과 같이 섞어 연산할 수 없습니다. 단, 비교는 가능합니다. Bigint는 Bigint 끼리 비교, 연산해야 합니다. 일반 Number보다는 속도 측면에서 느립니다. Math 내장 객체의 메서드도 사용할 수 없습니다. +, -, *, / , % 연산자는 사용 .. 2022. 11. 30.
728x90