class parentClass {
constructor() {
this.extendMethod();
}
extendMethod() { }
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new extendClass();
class parentClass {
constructor(child = null) {
child?.extendMethod();
}
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new parentClass(new extendClass());
class IBase {
constructor() {
this.extendMethod();
}
extendMethod() { }
}
class A extends IBase {
extendMethod() {
console.log('Hi from A');
}
}
class B extends IBase {
extendMethod() {
console.log('Hi from B');
}
}
Есть ли вообще в js статический массив нашёл реализацию и может ли он вообще пригодится?
class Foo {
static bar = [];
}
Не понятно многомерные массивы это разновидность Двумерных, Трёхмерных или что-то другое?
Зачем нужны зубчатые?
callbackFn
Функция-предикат, которая будет вызвана для проверки каждого элемента массива. Если функция возвращает true, то элемент остаётся в массиве, если false, то удаляется.
false
. dayjs("2024041213001900", "YYYYMMDDhhmmssSS").format()
> "2024-04-12T13:00:19+03:00"
moment("2024041213001900", "YYYYMMDDhhmmssSS").format()
> "2024-04-12T13:00:19+03:00"
def f(x):
на function f (x) { }
. Если хочется синтаксического сахара, то вот вам целая бочка: https://coffeescript.org/ - ложку дёгтя сами добавите или найдёте для разбавления. Парковка элементов относительно друг друга через точки
Point: 1|2|3|4
topLeft topRight
1___2
| |
|___|
4 3
bottomLeft bottomRight
Edges 1
_____
| |
4 | | 2
|_____|
3
Point format:
[targetPoint, itemPoint]
Docking variants:
[1,3] [2,4]
__ __
item -> |_3|______|4_|
target -> |1 2|
__|4____3|__
|_2| |1_|
[4,2] [3,1]
__
|4_|___ __
__|1 2|1_|
|_3|4____3|
|_2|
__
__ ___|_3|
|_2|1 2|__
|4____3|4_|
|1_|
1_________2
|1_| |_2|
|__ __|
|4_|___|_3|
4 3
типа, антипаттерн...
но это все равно вызов метода в конструкторе, что не приветствуется.
let prices2 = { DVS: 'DVS' }
let props = {}
props[prices2['DVS']] = 5
console.log(props.DVS)
// Вот так делать очень не рекомендуется:
window[prices2['DVS']] = 5 // Браузер
global[prices2['DVS']] = 5 // Нода
console.log(DVS)
bind
кэширует текущее значение своего this
в момент своего вызова, т.е. он привязывает именно функцию, а не объект, в котором находится функция. Иначе нельзя было бы вызывать bind на просто функции по типу foo.bind(abc)
. В мануале, кстати, описано что именно она кэширует - там полный список есть: https://developer.mozilla.org/ru/docs/Web/JavaScri... bind
для понимания механизма:function binder(that) {
let targetFunction = this; // кэш целевой функции
return function() { targetFunction.call(that) } // В возвращаемой функции используем кэш
}
let user = {
name: "Tom",
intro() {
console.log("I am " + this.name);
}
}
user.intro.binder = binder
let f = user.intro.binder(user);
setTimeout(f, 1000);
user.name = "Sid";
user.intro = function() {
console.log("Вообще другая функция. name: " + this.name);
}