본문 바로가기

내가 보려고 정리한 JavaScript17

[JavaScript] Object 2 - 객체는 모두 object를 상속받고, 따라서 모두 prototype을 가지고 있다. - 프로토타입 재정의 가능 재정의 하면 재정의 한 쪽에서 만든 함수가 더 우선순위가 돼 - new : 객체 생성 ex... function Person(name, phone, addr) { this.name = name; this.phone = phone; this.addr = addr; this.info = function() { var msg = ''; for(let key in this) { if((typeof this[key] != 'function')) msg += key + ' : ' + this[key] + ' ' } document.write(msg) } } var p = new Person('홍길동',.. 2020. 6. 18.
[JavaScript] replace 함수는 있지만 replaceAll 은 없다 자바스트립트에서 replace 메서드를 사용하면 첫 번째 문자만 치환이 되고 작동이 멈춘다. String 클래스에 replaceAll 메서드를 추가하여 쉽게 문자를 치환 할 수 있다. □ 방법 1. String prototype 메서드 추가 //replaceAll prototype 선언 String.prototype.replaceAll = function(org, dest) { return this.split(org).join(dest); } //replaceAll 사용 var str = "Hello World"; str = str.replaceAll("o","*"); alert(str); 설명 : str = str.split("o"); 출력 : ["Hell", " W", "rld"] //해당 문자로 배.. 2020. 6. 18.
[JavaScript] 문자열에서 특정 인덱스의 문자를 바꿔주는 메소드 는 자바스크립트에 없다. 자바스크립트에서 문자열은 immutable형이라서 특정 인덱스의 수정은 불가능합니다. 대안이라면 특정 인덱스만 바뀐 새로운 문자열을 생성해주는 방법이있는데요. 그렇게해주는 replaceAt()이라는 함수를 직접정의하면 될것같습니다. String.prototype.replaceAt=function(index, character) { return this.substr(0, index) + character + this.substr(index+character.length); } 이런식으로요. str = str.replaceAt(3, "a"); - substr substr(start index, length) : 자르고 싶은 첫 인덱스에서 부터 length 길이만큼 자르기 substr.. 2020. 6. 18.
[JavaScript] Array 2 - shallow copy (얕은 복사) ex. var array = [10, 20, 30, 40]; var copyArray = array; - deep copy (깊은 복사) ex. var person2 = {...person} // 깊은 복사...전개 연산자는 객체에도 쓰인다 var person2 = {}; for(let key in person) { person2[key] = person[key] } var array = [10, 20, 30, 40]; for(let data of array) { // 깊은 복사 copyArray.push(data) } 2020. 6. 17.
반응형