Операторы =, ==, === Операторы сравнения и присвоения

В Adobe After Effects, особенно в выражениях используются операторы =, == и ===. Для присваивания только =. Для сравнения === предпочтительнее, так как помогает избегать ошибок, связанных с приведением типов. == если вы точно знаете, что сравниваете

Список эффектов и не только After Effects
Выражения After Effects список

= оператор присваивания. Используется для присваивания значения переменной.

x = 5;

x = «Пять»;

x = ‘One hundred’ + » = » + «100»;

== оператор сравнения по значению. Проверяет, равны ли значения двух переменных без учёта типа данных. Проверяет равенство значений без учёта типа данных (производит приведение типов, если нужно). Может давать неожиданные результаты, если типы разные

«5» == 5 // true

Строка «5» и число 5 считаются равными, потому что == приводит типы к общему.

«5» = = 5; //Возвращает ошибку

«Пять» == 5; //false

=== — оператор строгого сравнения

«5» === 5 // false

Строка и число не равны, потому что разные типы.

«5» === ‘5’ ;

Выражение для свойства Положение слоя Фигура 1, проверяется строго ли Непрозрачность равна 60. Если да, то возвращаются координаты [640, 360] Если нет, то возвращаются координаты [0, 0]

if(thisComp.layer(«Слой-фигура 1»).transform.opacity === 60) [640, 360] else [0, 0];

thisComp.layer(«Слой-фигура 1»).transform.opacity === 60 ? [640, 360] : [0, 0];

if(thisComp.layer(«Слой-фигура 1″).transform.opacity === 60) {[640, 360];
}else{[0, 0];
}

Эти выражения не работают, потому что Непрозрачность возварщается в виде не целого числа, а например, 60.000000 число с плавающей запятой float, а не 60. Оpacity должно быть строго равно 60, и при этом иметь точно такой же тип данных». Любое отклонение и условие не выполняется.

//Надо писать или так или использовать ==

x = thisComp.layer(«Слой-фигура 1»).transform.opacity
if(Math.round(x) === 60) {[640, 360];
}else{[0, 0];
}

x = thisComp.layer(«Слой-фигура 1»).transform.opacity
if(Math.floor(x) === 60) {[640, 360];
}else{[0, 0];
}

if(thisComp.layer(«Слой-фигура 1»).transform.opacity == 60) {[640, 360];
}else{[0, 0];
}

if(thisComp.layer(«Слой-фигура 1»).transform.opacity == 60) [640, 360] else [0, 0];