목록~2022 작성 글/자바스크립트 (11)
상권's
스코프란 스코프는 범위의 뜻을 가지고 있습니다. 자바스크립트에서 사용되는 스코프는 함수나 중괄호에 의해서 변수에 접근할 수 있는 범위를 뜻합니다. 스코프의 주요 규칙 1. 중첩 규칙 - 가장 바깥의 스코프는 전역스코프이며, 전역스코프의 반대는 지역스코프입니다. 이처럼 전역스코프 내의 지역스코프들이 중첩이 될 수 있습니다. 지역스코프 내에서도 지역스코프가 중첩될 수 있습니다. ※ 변수 접근 규칙에 따른 유효 범위 - 바깥 범위(전역스코프)에서 선언된 변수는 안의 범위(지역스코프)에서도 접근이 가능하지만, 반대로 안의 범위(지역스코프)에서 선언된 변수에는 바깥(전역스코프)에서 접근할 수 없습니다. 2. block scope와 function scope - block scope는 중괄호에 의해서 정해지는 범위..
원시자료형은 string, number, bigint, boolean, undefined, symbol, (null)을 말합니다. 이러한 원시자료형은 변수에 하나의 데이터만 담을 수 있습니다. 하지만 개발을 하면서 많은 양을 담아야 할 경우, 변수에 담을 수 있는 양이 정해져 있다면 데이터를 담기 어려워집니다. 그래서 참조자료형이 생겼습니다. 참조자료형에는 객체, 배열, 함수 등이 있습니다. 이러한 참조자료형은 변수에 heap에 담겨 있는 주소가 할당됩니다. 이를 통해서 변수를 호출하게 되면 주소에서 데이터를 불러와 많은 양은 데이터도 처리할 수 있습니다. 원시자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조자료형이 할당될 때는 보관함의 주소(reference)가 담깁니다. a = 1,..
const obj = { id: 1, city: 'changwon', country: 'korea', name: 'sangkwon', }; const arr = [ ["id", 1], ["city", "changwon"], ["country", "korea"], ["name", "sangkwon"] ], 이러한 객체와 배열이 있을 경우, 객체를 배열의 모양으로, 배열을 객체의 모양으로 바꾸는 코드를 구현해보겠습니다. function objToArr(obj) { return Object.entries(obj); function arrToObj(arr) { //for (let i = 0; i < arr.length; i = i + 1 ) { // for (let n = 0; n < arr[i].length;..
객체는 중괄호({}) 속에 key 와 value를 넣어서 만들 수 있습니다. obj = {'name': 'sangkwon', 'city': 'daegu'} key value key value 객체의 속성을 추가, 조회, 변경, 삭제하기 [조회] object = { name: 'sangkwon', age: 30, city: 'changwon' } 해당 객체의 내용을 조회하는 경우 obj.name // .name => dot notation 이라고 하는데, 아래에서 자세하게 알아보도록 하겠습니다. 'sangkwon' // 이처럼 객체 내부의 값을 조회. [변경] obj.age = 20 // 객체의 key를 dot notation으로 입력하고 새로 할당하면 값이 변경. 20 obj {name: 'sangkwo..
arr.slice(start, end) index가 start인 element부터 end - 1번째 index의 element까지 배열로 나타냅니다. ※ 기존의 배열이 변경되는 것이 아니기 때문에 새로운 변수를 선언하고 할당하여야지 복사된 배열을 활용할 수 있습니다. arr.splice(start, end) index가 start인 element부터 end - 1번째 index의 element까지 배열에서 삭제합니다. arr = [0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8] arr1 = arr.slice(0, 3) (3) [0, 1, 0] //- 새로운 변수로 지정해줌으로써 slice된 값들로 배열을 만들고 할당. arr (11) [0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8]..
배열은 중괄호([])를 이용해서 만들 수 있습니다. arr = [1, 2, 3, 4] 배열은 각 index에 element가 속해있습니다. index는 배열의 첫번째 element를 0으로 시작합니다. 배열에 엘리먼트 조회하기 배열의 값을 조회하기 위해서는 index를 입력하면 됩니다. arr = [1, 2, 3, 4] arr[1] // 배열의 변수 + 중괄호([index]) 를 입력하면 해당 인덱스의 엘리먼트 조회. // 배열의 인덱스는 0부터 시작합니다! 2 // 배열의 1번째 인덱스는 2. arr[0] 1 arr = ['sangkwon', 'kim', 'daegu', 'changwon'] arr['sangkwon'] // 파라미터로 입력되는 값을 찾는 건 아닙니다! undefined arr.inde..
※ 제가 자바스크립트를 배우기 시작할 당시 변수 선언 방식을 정확하게 이해하기 많이 어려웠습니다. 이렇게 간단하게 정리를 함으로써 추가적인 학습을 하였을 때 쉽게 이해를 할 수 있었습니다. 입문자분들께서 이 글을 통해서 간단하게 이해를 하고 추후에 더 깊은 학습을 하셨을 때, 도움이 되셨으면 좋겠습니다. var는 변수가 선언이 되고 할당이 되었더라고, 재선언이 가능하다. 블록 스코프를 무시할 수 있다. 단, 화살표 함수의 블록 스코프는 무시하지 않는다. - 블록 스코프의 내부에서 선언 되더라도 블록 스코프의 밖에서도 사용할 수 있다. 함수 스코프는 따른다. 블록은 내부에서 들여쓰기가 적용이 되어서 변수 선언을 쉽게 할 수 있다. 하지만 var의 경우에는 블록 스코프를 무시하기 때문에 let으로 선언하는 ..
str.split('구분 대상') '구분 대상'을 기준으로 문자열을 나눠 배열의 요소로 만들기. str = 'hello, my name is sangkwonkim' str.split(' ') ['hello,', 'my', 'name', 'is', 'sangkwonkim'] // 문자열의 ' '(공란)을 기준으로 나눠서 배열의 요소로 만든다. str = 'name' str1 = str.split('') str1 ['n', 'a', 'm', 'e'] // '' 사이에 공란을 주지 않을 경우, 모든 문자를 나눠서 배열의 요소로 만든다. arr.join('구분 대상') 배열 요소들 사이에 '구분 대상'을 넣어서 문자열로 만들기. str1 = ['n', 'a', 'm', 'e'] str1.join('') 'nam..